<p>The Object destructor (~Object()) asks the WorldManager to remove it from the game world. See page 105 of the book (version 4) for a listing.
<p>There is no "loop" here - rather, the WorldManager just removes the Object from the updates ObjectList. Note, the Object destructor is called automatically when the delete is called (by the WorldManager at the end of update, assuming markForDelete() was called).
<p>See Section 4.5.8 "Program Flow for Game Objects" for clarification on the life-cycle for game objects.