I received some feedback on my previous post A good reason for calling GC.Collect() basically saying that I omitted certain details on the garbage collector and weak references. I won't argue that - it is certainly true. However, it wasn't my intention to fully explain either especially since they are both well documented. MSDN is a great starting point for learning more about this and if you still want more information I recommend trying the new improved version of Live Search as there is more material available on many MS and non-MS websites and blogs:
This posting is provided "AS IS" with no warranties, and confers no rights.