title: Garbage collector - finalization
body: <p>From MSDN:
  "When an object is not reachable, the garbage collector considers the object garbage. Then, when the garbage collector moves an object's entry from the finalization queue to the freachable queue, the object is no longer considered garbage and its memory is not reclaimed. At this point, the garbage collector has finished identifying garbage. Some of the objects identified as garbage have been reclassified as not garbage. The garbage collector compacts the reclaimable memory and the special runtime thread empties the freachable queue, executing each object's Finalize method.
  Two GCs are required to reclaim memory used by objects that require finalization.</p>
  
  <p><strong>My question -</strong> 
  Since two GCs are required to reclaim memory for objects that require finalization, if before the 2nd time collection happens, the object requiring finalization is strongly referenced again, does the garbage collector remove the object from the f-reachable queue so that its not garbage collected?</p>