public static Image LoadImageFromURL(string URL) { HttpWebRequest request = (HttpWebRequest) HttpWebRequest.Create(URL); HttpWebResponse response = null; BinaryReader br = null; MemoryStream stream = null; request.Timeout = 10000; // 10 Seconds try { int tmp = ServicePointManager.DefaultConnectionLimit; response = (HttpWebResponse) request.GetResponse(); // i lock up on the second method call br = new BinaryReader((response.GetResponseStream())); byte[] buffer = new byte[256]; stream = new MemoryStream(); int length =0; do { length = br.Read(buffer,0,256); stream.Write(buffer,0,length); } while (length >0); request.Abort(); request = null; response.Close(); response = null; return (Image)new Bitmap(stream); } catch(Exception e) { MessageBox.Show(e.Message.ToString()); return null; } finally { if (response != null) { response.Close(); response = null; } } } }