Una vez desconectado el socket, sólo puede volver a conectar de nuevo de manera asincrónica y únicamente con un EndPoint diferente. Se debe llamar a BeginConnect en un subproceso que no saldrá hasta que la operación se haya completado.
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.