Also die 630 Threads sollten nicht das Problem sein..! Aber falls du wissen willst weshalb das bei dir so viele sind kannst du der Sache mit meinem X-Spy ganz gut auf den Grund gehen..!
Ich hab mir deinen Code mal ein bisschen angeschaut und mir ist dabei aufgefallen, dass du in deinem Decode-Thread direkt auf deine Form zugreifst:
Form1.LblStatus.Caption := 'Status: Prüfsumme erzeugen...';