Can I use System.Threading to simulate user connection speed or is there a better way or tool.
Thanks in advance.
Fiddler2 is an HTTP proxy that allows you to simulate modem speeds. (I don't know about throttling tools for TCP, much less UDP)
edit for comment:
It sets itself as the WinInet (system) proxy on startup, captures even localhost requests (see this in case of problems); also, it can reroute requests to a different host (i.e. a request to example.com becomes a request to localhost).
Also, it has a powerful scripting engine which allows you to make custom processing rules.
http://www.ozspeedtest.com/ provides a simpler speed testing system than speedtest.net, so it should be pretty easy to run the test from C# (it just involves downloading certain sized images).
I assume you're doing something clientside.