Die von
Indy erstellten Threads sind unabhängig vom Parallel Threadpool. Für jede Verbindung wird ein neuer Thread gestartet und die Execute Methode in einer Schleife immer wieder aufgerufen. Wenn Daten eintreffen, und in der der Execute-Methode an den Pool übergeben werden, blockiert die Execute Methode solange bis das Daten verarbeitet wurden. Daten im Socket gehen dadurch aber nicht verloren (den Socket kann man sich wie einen Stream vorstellen, aus dem man nach und nach so viel liest wie man möchte, und dazwischen auch Pausen machen darf).
Ist es ein Programm mit
GUI? Die Meldung "Programm reagiert nicht" deutet ein wenig darauf hin... Dann würde ich vor allem versuchen, es komplett ohne
GUI zu realisieren.