Depois de desligar o socket, só poderá voltar a ligar de forma assíncrona, e apenas para um EndPoint diferente. BeginConnect tem de ser chamado num thread que não termine até que a operação seja concluída.
Click to search this error in Google
English version
Once the socket has been disconnected, you can only reconnect again asynchronously, and only to a different EndPoint. BeginConnect must be called on a thread that won't exit until the operation has been completed.