Чом би й ні? Інші шляхи які спадають на думку набагато складніші.
Логически д/б проверить текущее время время, вычислить сколько осталось, уснуть на чуток меньше, а потом только проверять снова. Тут цель - как добится сна/остановки работы на определенное время. Скорее всего этот шедулер д/б в отдельном потоке, и следует останавливать поток на время. Само же приложение должно работать. См. http://msdn.microsoft.com/library/rus/default.asp?url=/library/RUS/cpref/html/frlrfsystemthreadingtimerclasstopic.asp, слева в меню просмотри все темы в Sistem.Thearding от Thread до WaitOrTimerCallback.
Вот пример http://www.aspnetmania.com/Articles/Article/65.html
Сам этим не занимался, нарыл в инете.