Actually in SGReferencedData each copied object gets its own refcounter atm, that has the same value the original object's counter had (through the function copy_refcount()). Should that be changed and have them share it and ref/unref the same one? And furthermore, do something similar here?