I am using a WebClient to download a string from a website (which just contains plain text, nothing else), so I use the DownloadString method:
WebClient wc =
Well, the first time it needs to do a DNS lookup and connect to the host - after that, within the same process it may well be reusing the same connection. For the very first request to anywhere, it may well also be trying to detect proxy settings etc.
If you want to see what's really happening at the network level to make it slow, I suggest you grab Wireshark and monitor the traffic with that.