ComObjectを解放する方法を説明します。
VB.NETからExcelを起動すると、Excelが落ちない現象があるときは、メモリーの解放を
Marshal.ReleaseComObject() ではなく
Marshal.FinalReleaseComObject() で行ないます。
COMオブジェクトを解放する
Marshal.FinalReleaseComObject(objCom)
'以下と同じになる
Dim I As Integer
Do
I = Marshal.ReleaseComObject(objCom)
Loop Until I <= 0
※Marshal.ReleaseComObject()は参照数が0になるまで、ループで解放を繰り返さなければならないみたいです。