Длится ли он дольше 15 минут? (Таким образом, вы могли бы закончить с более чем одним бегом, и мешать друг другу?)
Просмотрите События приложения Журнала событий, чтобы увидеть, не записаны ли какие-либо сбои вашей программы.
Звучит так, будто почтовые уведомления могут не работать на вашем сервере, поэтому я бы добавил в него некоторую трассировку: каждый раз при записи в файл журнала DateTime.Now и, возможно, имя каждого сервера обрабатывается, а затем время выхода. И, конечно, регистрируйте детали любых исключений, о которых вы хотите знать (в идеале, добавьте необработанный обработчик исключений, чтобы вы могли записывать все исключения). Тогда вы сможете точно определить, когда он выполняется и обрабатывает ли он все правильно. Это поможет диагностировать, если он не запускается, запускается ли он, но сразу выходит из строя, или он выполняет частичный запуск и дает сбой после обработки нескольких серверов. Тогда вы можете сосредоточиться на точке отказа.