So oder so, ist es seine saublöde Idee etwas in einem Timer zu machen, was regelmäßig mindestens / mehr als 30 Sekunden benötigt.
Ja, Threading wäre in dem Fall natürlich in jedem Fall besser.
Vielleicht ist die Aufgabe ja etwas, das zwingend im UI-Thread ausgeführt werden soll, wie Malen in einem Fenster oder so.
Das Beispiel unten soll ja nur das mögliche Timer-Flooding sicher verhindern, falls das ein Problem für sporadische Fehler darstellen sollte.
Trotzdem könnte auch ein Timer alle 30 Sekunden eine Aufgabe in einem Thread anwerfen, der dann mal 20-40 Sekunden braucht bis er fertig ist.
Auch dann sollte man den Thread vor einem Flooding schützen.