Есть необходимость выполнить некоторые действия после завершения выполнения всех потоков (создать архив всех файлов записаных в ходе работы скрипта, отправить отчет по мэйлу и т. п.).
Если добавить такие действия в конце Main, то они будут выполнены во всех потоках...
Как это можно организовать?
Попробуй поискать на форуме слово "OnApplicationEnd"
На такой случай нужно весь процесс в потоке в цикл кидать до успешного завершения, а потом выход из цикла... а ошибки в цикле нужно обрабатывать (ожидание элемента и т.п.)