Excel взаимодействие COM не закрывается

У меня есть код, который открывает электронную таблицу, читает некоторые значения, а затем закрывает лист. Мне нужно сделать это для нескольких файлов. Проблема яСуть в том, что экземпляр приложения Excel не завершается, поэтому, когда я запускаю свой процесс для нескольких файлов, я получаю несколько запущенных процессов Excel.exe. Любые идеи, как я могу закрыть Excel?

    static void ParseFile(string file)
    {
        try
        {
            System.Console.WriteLine("parsing:" + file);
            Excel.Application excel = new Excel.Application();
            Excel.Workbook wb = excel.Workbooks.Open(file);
            Excel.Worksheet ws = wb.Worksheets[1];
            for (int i = 2; i < 27; i++)
            {
                log(ws.Cells[i, 1].Text);
            }
            wb.Close(false);                
            excel.Quit();
            excel = null;
            ws = null;
            wb = null;
        }
        catch (Exception ex)
        {
            log(ex.Message);
        }
    }

------ Обновление 12/11/12 -------- Все еще оставляя экземпляры Excel открытыми -------

static void ParseFile(string file)
    {
        try
        {
            log("parsing:" + file);
            Excel.Application excel = new Excel.Application();
            Excel.Workbook wb = excel.Workbooks.Open(file);
            Excel.Worksheet ws = wb.Worksheets[1];
    //do some stuff here
            wb.Close(false);
            excel.Quit();
            GC.Collect();
            GC.WaitForPendingFinalizers();
            Marshal.FinalReleaseComObject(ws);
            Marshal.FinalReleaseComObject(wb);
            Marshal.FinalReleaseComObject(excel);                
            excel = null;
            ws = null;
            wb = null;
            System.GC.Collect();
        }
        catch (Exception ex)
        {
            log(ex.Message);
        }            
    }

Ответы на вопрос(3)

Ваш ответ на вопрос