Why the Finalization queue
I was going through MSDN on garbage collection topics and i found some information (http://msdn.microsoft.com/en-us/library/0s71x931(VS.71).aspx) related to finalization queue. .Net maintains a queue for all the objects which have the finalize defined. This case, the garbage collector need two cycles to actually remove the object from the memory. Why this finalization queue is maintained and why the garbage collector can not remove the memory in the first cycle?