Поток TCP не может знать, закончился ли текущий ответ.Все, что он знает, это только что получил данные по проводам;он не может знать, придет ли следующий пакет прямо сейчас (многопакетный ответ) или придет ли он намного позже (если ответ закончен).
Вместо этого вам нужно предсказать, когда вы 'получу больше данных;вы должны продолжать чтение до тех пор, пока не получите помеченный ответ о завершении, как описано в протоколе IMAP.
Однако IMAP, по-видимому, предназначен для непрерывного чтения в фоновом потоке, поскольку сервер может отправлять вам информацию в любое время.время.Поэтому у вас, вероятно, должен быть отдельный поток, который всегда находится в ReadLine()
.