// запускаем проверку в дочернем потоке с таймаутом в 5 секунд
project.Exit(5);
// имитируем долгое выполнение в течении 10 секунд
for (int counter = 0; counter < 10; counter++)
{
project.SendInfoToLog($"Поток: {Thread.CurrentThread.ManagedThreadId} Счетчик: {counter}", true)...