Comunque: al di lā del fatto che esiste anche un timer che funziona senza form (System.Threading.Timer) e che volendo il form lo puoi nascondere, personalmente mi limiterei a scrivere la parte che ricorda all'utente di fare le operazioni e lasciare lo scheduling alle Operazioni pianificate di Windows (anche per non appesantire inutilmente il sistema con l'ennesima applicazione in background).