Die -1 im Code ist nicht das Timeout. Der zweite Parameter die Anzahl Bytes, die empfangen werden soll, und wird hier -1 übergeben, und der dritte Parameter ist False, liest der IOHandler die Anzahl zu lesender Bytes aus den ersten Bytes der ankommenden Daten.
Da LargeStream auf True steht, wird die Anzahl der zu lesenden Bytes aus den ersten 8 Bytes der ankommenden Daten gelesen.
Siehe
https://stackoverflow.com/a/3341245/80901
Zu welchem Fehler / Fehlermeldung kommt es denn konkret?