>>148
ありがとうございます。
具体的には、ボタンが押された時にポートを解放(?)してudpを破棄したいということです。

実装としては
udp=new UdpClient(port);としているんですが、ユーザの入力でポートを変更することも出来るようにしたいんです。

とりあえず今日いろいろ考えた末、
ポートを変更するときに呼ばれるメソッドを

public void ChangePort () {
   udp.Close();
   udp = new UdpClient(port);
   myReceive;
}

として、無理矢理破棄して、ReceiveCallback内をtry〜catchで起こった例外を全て無視するようにして一応動いたんですが、あまりにも邪道すぎる気がします。。。