It seems that the reference can only be enqueued by finalize_referred_to_object. Why would this be called even though the referent is still reachable? Wouldn't that imply GC brokenness? Obviously that isn't the case because people would notice that.