Hierfür ist ein Timer genau das Richtige. Da du ja nicht auf ein paar Sekunden genau den Vorgang starten mußt, reicht es einfach im Timer jede Minute (60000 ms) die aktuelle Uhrzeit mit der gewünschten abzufragen, und bei 'größer gleich (>=)' dann deine Aktion starten. Das Programm muß sich dann aber noch merken, daß es die Aktion schon für den aktuellen Tag ausgeführt hat, damit es nicht den ganzen Tag sendet.
Wenn du alternativ nur auf exakte Gleichheit abfragen willst, dann vergleiche aber auch wirklich nur Stunden und Minuten.
Einen Thread brauchst du nur, wenn du mehrere Sachen gleichzeitig machen willst, also z.B. noch eine GUI anzeigen, während die DB-Abfrage erfolgt...
P.S: Noch eine Alternative: du könntest dein Programm mittels der Systemsteurung/Geplante Tasks ausführen lassen (sofern es nicht noch andere Dinge machen soll).