I haven't looked at this in a very long time, and I don't have free time to look in any great detail, but you can play with the following things:

  • Try setting the ".Blocking" property to false.
  • Try polling the ".State" property.
  • Try setting the ".ReuseAddress" property to true.
  • Increase the "Backlog" property.