Yes, that is the theory. That they don't use much space.Snapshot don't use much space, that is correct. At least if you consider the following, for instance you copy a large file like 10GB, the data it occupies will be roughly 10GB. When you take a snapshot, the snapshot will not contain the file and take up 10GB or so. No, the snapshot will only contain the address of all the blocks pointing to the file. It could be a few 100 bytes or a few Kbyte.
When you replicate a snapshot, the "zfs send" will go through all the blocks defined in the snapshot and the block themselves are going to be copied over to the where "zfs receive" is pointing at.
If you have gazillions of snapshots, your volume could be filled up.
I suspect in your case you may have replicated one dataset and snapshots to 2 different locations. Both location containing the same data, unless you started replication but toward the end never finished and you might end up with a resumable replication.
This system has been replicating for months without issue, so I don't think it contains two copies.
4 weeks of snapshots, 12 snapshots a day, is about 336 snapshots. Hardly a gazillion.
The most important questions for me are not yet answered. I am not yet ready to just delete the snapshots as I proposed above because this is a production system.