Fechando uma pasta de trabalho do Excel

Eu tenho um pouco de código que abre uma pasta de trabalho xls;

Excel.Workbooks workBooks;
workBooks = excelApp.Workbooks;
workbook = workBooks.Open(sourceFilePath + sourceFileName + ".xls");

Eu então pego a folha de trabalho;

worksheets = workbook.Worksheets;
worksheet = worksheets.get_Item("Standard");

Em seguida, salve o arquivo como um csv;

worksheet.SaveAs(sourceFilePath + sourceFileName + ".csv", Excel.XlFileFormat.xlCSVWindows, Type.Missing, Type.Missing, false, false, Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing);

Então eu tento fechar a pasta de trabalho;

Marshal.FinalReleaseComObject(worksheet);
Marshal.FinalReleaseComObject(worksheets);
workbook.Close();
Marshal.FinalReleaseComObject(workbook);

No entanto, toda vez que eu chego à pasta de trabalho de linha.Fechar (), o sistema para.

Se eu não fizer o SaveAs, a pasta de trabalho fechará bem.

Como faço para fechar uma pasta de trabalho?

editar

Olhando para o Gerenciador de Tarefas me mostra que o Excel.exe ainda está em execução. Fechar isso produzirá um erro no meu código.

editar 2

Eu já vi a postagem do SO referenciada e ela não resolveu o problema.

questionAnswers(5)

yourAnswerToTheQuestion