Я не уверен, что правильно понял проблему, но строка «получить входящий телнет» заставляет меня сильно волноваться.
Вы пишете это приложение в одном потоке без использования какого-либо асинхронного соединения TCP / IP?
Если ответ положительный, ошибка в используемой вами архитектуре.
Вам необходима асинхронная связь tcp / ip, например, с другим параллельным потоком, с асинхронными сокетами или с асинхронными потоками.
Вы не можете остановить GUI, ожидающий сеть, это будет плохая архитектура.
Попробуйте прочитать эту простую, но полную статью о проекте кода: http://www.codeproject.com/KB/IP/socketsincs.aspx
ОС Windows использует штуку под названием «насос сообщений» для обработки окон. Все это сообщение, которое обрабатывается одним потоком (потоком вашего приложения).
События помещаются в очередь в очереди сообщений.
Если вы слишком долго останавливаете выполнение основного потока, вы останавливаете обработку очереди сообщений, и это останавливает ввод данных пользователем и рисование, поскольку рендеринг также является сообщением Windows, которое может быть поставлено в очередь.