Comentários de um colega meu de ontem sobre esse mesmo tópico
"sempre haverá uma opinião variada sobre isso ... Minha regra geral seria se você precisasse de algo que fosse executado a cada cinco minutos (e você não se importasse com o tempo que ela corre ou quanto tempo demora), ou algo que responde a eventos, use um serviço.Se precisar de algo para executar em um horário específico todos os dias e tiver certeza de que não haverá uma volta, use o Agendador fornecido com o sistema operacional.Se precisar de um híbrido, use os dois soluções para casos variados ou encontre algo disponível (possivelmente Quartz .Net) "
O artigo de Jon Galloway de 2005 "// TODONT: use um serviço do Windows apenas para executar um processo agendado"
é uma boa leitura. Sugiro que os comentários também sejam lidos porque a discussão ainda continua até hoje e fornece alguns bons contra-argumentos.
Pessoalmente, concordo com o meu colega nesta questão. Mantenha-o simples pelo maior tempo possível. E se você estiver implantando no servidor Win2008, confira o Agendador de tarefas e todos os recursos que o agendador padrão oferece. Para mim, o assassino deveria iniciar uma tarefa agendada quando ocorrer um evento.