Hi steinandler!
Ich hatte in einem meiner Projekte ein ähnliches Problem, bei dem ich eine Datenbank-Abfrage in einen eigenen Task ausgelagert hatte.Nach Beendigung der Abfrage wurde dann über einen Referenz auf das UI die entsprechenden Steuerelemente neu betextet.
Hab das ganze dann darauf hin umgestellt, als dass ich per Timer (System.Windows.Form-Timer) alle 5 Sekunden die Abfrage gestartet habe und dann ein Event feuere, für welches ich im UI den entsprechenden Handler habe. Das Problem, war du hast bzw haben wirst, wenn du in Thread 2 ein Even feuerst und in deiner UI-Klasse das Event behandelst, dann wirst du eine InvalidOperationException erhalten, da das Event nicht im UI-Thread behandelt wird, sondern in dem Aufruf-Thread #2. D.h. du greifst dann von Thread 2 auf den UI-Thread zu (was zu genannter Exception führt).
Im Endeffekt wirst du das lösen müssen, indem du in der UI-Klasse deine Handler-Methoden unterbringst und dann per Invoke die Controls ansprichst.