Register the given
Object for which the
Runnable will be executed once there are no references
to the object anymore.
This should only be used if there are no other ways to execute some cleanup once the Object is not reachable
anymore because it is not a cheap way to handle the cleanup.