Das sieht grade alles recht unübersichtlich aus wie wäre es wenn du die Stelle mal hier rein schreibst denn es wäre wesentlich schneller erledigt als wenn man deinen Kompletten Source durchgucken muss.

Also ich hab das Problem anhand deiner jetzigen Erklärung zwar noch nicht verstanden aber

"Can not write to a closed Textwriter. "

Sagt ja soviel aus wie das du versuchst in einen bereits geschlossenen Textstream zu schreiben oder irre ich mich da ô.o.

Bist du sicher das es nichts mit dem New zutuen hat. Denn wenn du jedesmal einen neuen Reader starten würdest würde er ja nicht versuchen in einen bereits von dir geschlossenen zu schreiben. ô.o (Falls du das gemacht hast sry zu spät um den ganzen Code durchzugucken. Aber dann würd ich schauen ob i-wo anders der Fehler entstehen könnte. z.B. das ganze garnicht in der Sprache sehen sondern im System was dahinter steckt wie es Funktioniert.)

Ausserdem muss es ja nicht in zusammenhang mit TCP stehen o.o
Ich würde wenn du keinen ausweg findest einfach mal den teil mit dem Streamreader nochmal neu angehen. Vll bemerkst du dann deinen Fehler.