GarbageCollector is a slow-poke
I've been reading this nice book (Microsoft Visual C# 2005: The Language, Donnis Marshall).
It provides a great detail about the new language feature and the CLR itself inside-out. I haven't finished reading it yet, half-way done though :p. One interesting stuff is that “GarbageCollector” action isn't immediate, which of course contradicting what I knew at that time.
It turns out that GarbageCollector will determine the time, when is it appropriate to “release” the resources associated with an unreferenced object. However, there is a way to “persuade” GC to “work faster”, that is, by setting the object value into null. Probably this is the reason why there are some code on the internet, that set the object into null even thogh it's not used anymore. Because the book said that, by setting the object instance into null, GarbageCollector will move it to the top priority to release the resources.