Все зависит от того, как устроен поток обработки подключения. Поставь там ожидание события выхода с таймаутом 0. Когда завершаешь свое приложение — взводишь событие и поток завершится. Само событие надо создать в основном потоке, а указатель на него передать при создании потока через параметр.