Потому что если по каким-то причинам объект экселя не создастся, то попав в обработчик он снова нарвется на ошибку при попытке выполнить xlApp.Quit и зациклится, проходили уже...1. почему в обработчике просто не написать xlApp.Quit() ?
Это уже второй вопрос, изначально проблема была в другом.2. почему не перебдеть возможные ошибки?