Вы делаете то, что я обычно называю (первоначально на испанском xD) "счастливое программирование дороги". Вы должны реализовывать свои программы для обработки нежелательных случаев, а не только тех, с которыми вы хотите столкнуться.
Потоки здесь показывают только основную ошибку: ваш сервер не может обработать тайм-аут, а реализация жесткая в том смысле, что добавление тайм-аута вызывает сбой сервера из-за необработанного исключения.
Реализуйте его более надежно: он должен выдерживать исключение, серверы не могут умереть из-за неправильного поведения клиента. Если вы не решите эту проблему сейчас, у вас могут возникнуть подобные проблемы позже.