http://neo_lin_42.blog.ithome.com.tw/post/620/6564
在.NET程式中可以使用GC類別與Garbage Collector進行互動。您可以呼叫GC類別的Collect方法強制回收garbage。常用模式如下:
GC.Collect();
GC.WaitForPendingFinalizer();
GC.Collect();
這裡呼叫了GC.Collect()兩次。原因有兩個,第一個原因是呼叫GC.Collect()時,會產生另外一個執行緒來回收garbage,為了避免造成執行緒的安全性問題,因此必須呼叫GC.WaitForPendingFinalizer()等待此執行緒執行完畢。另一個原因則是考慮對unmanaged資源進行回收。