Quote Originally Posted by TheCPUWizard
It is NOT a periodic process. It is a demand based process when there is memory pressure at the time of a NEW allocation.

If you dont do new allocations, GC will NEVER execute. If there is no memory pressure GC will NEVER execute.
Per Microsoft..

http://msdn.microsoft.com/en-us/library/ms228629(VS.80).aspx

In C#, garbage collection is handled by the common language runtime (CLR) with similar functionality to that of the JVM. The CLR garbage collector periodically checks the memory heap for any unreferenced objects, and releases the resources held by these objects.