Попытка делая собрание garbabe дважды:
Очистьте вверх память.
GC.Collect ();
GC.WaitForPendingFinalizers ();
//, котор GC нужно быть вызванным дважды для того чтобы получить
// Finalizers вызвало - the first time внутри, оно просто делает
// список должно быть уточненным, the second time внутри,
// оно фактическ уточнять. Только после этого будьте
предмет // делает свое автоматическое ReleaseComObject.
GC.Collect ();
GC.WaitForPendingFinalizers ();