Wrap the udpClient in a lock

The UdpClient is not documented to be thread-safe.

Testing shows no issues, however it is better to be safe than sorry in this case.

Udp sends are very fast, so there isn't much contention on the lock and it's not worth fussing about.