FinalizationRegistry : Object
this so the
cleanupCallback passed to
this' constructor will be called when
target is garbage collected.
The value passed to
cleanupCallback at that time will be
heldValue can not be the same object because
this will hold a strong reference to
heldValue, preventing it from being garbage collected.
unregisterToken is specified, you can prevent
cleanupCallback from being called by calling