When using a WebRequest, one important thing to keep in mind is how many connections are allowed to be made to the same server. The maxConnection setting will affect how many connections you can concurrently have to a given server. When you set up a proxy, System.Net sees the proxy as the server and so it will limit the number of concurrent connections to that instead of all the various servers.
For example, doing something like this:
HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(requestUri);
wr.Proxy = new WebProxy("http://myproxy");
will cause the connection to funnel through a proxy. This means that from the IIS perspective, the ?client? is connecting to the proxy as the server. So the number of connections, as set by maxConnection, will be applied to that proxy, not the Uri that it is eventually going to. This is based off the RFC: RFC 2616 ...
Go to the complete details ...