Здравствуйте, indusov.net, Вы писали:
IN>При завершении чего?
При завершении приложения.
IN>Он канселит обработку, после чего должен вызваться RunWorkerCompleted.
Cancelling в BackgroundWorker'е — всего лишь взведение соответствующего флажка. Исполнение DoWork никто не прерывает. Если хочется реального cancelling'а, то его нужно делать ручками в DoWork. Ничего подобного в коде топикстартера не наблюдается — его DoWork будет молотить до победы.