Я рекомендую Quartz.NET для этой цели. Чтобы процитировать домашнюю страницу:
Quartz.NET - это полнофункциональная система планирования заданий с открытым исходным кодом, которую можно использовать от самых маленьких приложений до крупных корпоративных систем.
Мы используем его в некоторых наших продуктах, и мы довольны им до сих пор. Мы в основном используем его в точном сценарии, который вы описываете - как постоянно работающую службу Windows, которая периодически выполняет некоторые задачи.
Документация очень приличная, с API приятно работать. Функции довольно богатые (триггеры cron, интервальные триггеры, пользовательские календари, множество других полезных функций). Хорошо работает с UTC и местным временем (обязательно прочитайте документы!).