Hy,
Verändere mal das letzte Sleep, da steht das 45 Sekunden gewartet werden soll. Du lässt aber nur 0.45 Sekunden warten. Zumimdest ist es das augenscheinlichste was mir auffiel. Ich denke das der Absturz so eine Art von Stack-Overflow ist.
Alternativ kannst du dein Programm ja auch alle X Stunden neustarten lassen, ich habe auch schon einige Programme geschrieben welche eine lange Laufzeit aufwiesen, und gerade bei automatisierungen bekam ich oft ein Speicherleck. Da reichen schon ein oder zwei kleine Fehler, die summieren sich aber entsprechend der Laufzeit. Ich hatte schon nach 4 Stunden Laufzeit Speicherververbrauch von mehreren GB - Nur weil ich vergaß etwas GDI zu releasen.
Vielleicht hilft es ja,
Grüsse!