Objects in the finalization queue wait there until the application drains it by calling the function drain-finalization-queue. This function finalizes every object in the queue.
The finalization queue is not normally drained automatically. See Section 2.5.4.1 on page 19 for details of how you can set up a thread to do so.
Note: The order in which objects in the finalization queue are finalized is not defined. Applications should not make any assumptions about finalization ordering.