ただ今UDPで非同期通信を行っております(受信)。
開始と終了がボタンイベントで行うようにしております。

開始時に、Socket.BeginReceiveFromメソッドをスレッドでまわして使用して、
コールバックにIAsyncResultとしてソケットを渡してます。
しかし、終了時にThread.AbortとSocket.Closeを行うと、
コールバックに入ってしまい、Socket.EndReceiveFromメソッドで、
ソケットが破棄されているためアクセスできないと怒られます。

終了時の処理はどのように行えばよろしいのでしょうか?
ご教授お願いします。