The general advise is that you should not call GC.Collect from your code, but what are the exceptions to this rule?
GC.Collect
I can only think of a few very speci
Since there are Small object heap(SOH) and Large object heap(LOH)
We can call GC.Collect() to clear de-reference object in SOP, and move lived object to next generation.
In .net4.5, we can also compact LOH by using largeobjectheapcompactionmode