Thread.Abort não parece lançar um ThreadAbortException por causa de AcceptSocket

eu estou chamandoChannelServer.ListeningThread.Abort no segmento a seguir, no entanto, nada parece acontecer. Gostaria de ser mais específico, mas não consigo pensar em mais nada. Parece não haverThreadAbortException que é lançada, e essa exceção deve ser lançada independentemente do ouvinte de bloqueio (funciona perfeitamente em threads que estão recebendo bloqueios).

Edição importante: Com umManualResetEvent.WaitOne ao invés deAcceptSocket, como sugeriu Lyrik para os testes, ele funciona perfeitamente. Por quêAcceptSocket bloqueia oThreadAbortException?

LIGAÇÃO: Este tópico do fórum parece discutir o mesmo problema, embora eu não consiga entender nada:http://www.tek-tips.com/viewthread.cfm?qid=319436&page=413

ChannelServer.ListeningThread = new Thread(new ThreadStart(delegate()
{
    Log.Inform("Waiting for clients on thread {0}.", Thread.CurrentThread.ManagedThreadId);

    while (true)
    {
        try
        {
            new Thread(new ParameterizedThreadStart(ChannelClientHandler.Initialize)).Start(ChannelServer.Listener.AcceptSocket());
        }
        catch (ThreadAbortException)
        {
            Log.Inform("Aborted client listening thread {0}.", Thread.CurrentThread.ManagedThreadId);
            break;
        }
    }
}));
ChannelServer.ListeningThread.Start();

questionAnswers(3)

yourAnswerToTheQuestion