HttpWebRequest.GetResponse() throws "Bad Request" 400 error
===

Following is the sample code with (changed actual url and credentials)

    ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback((object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) => { return true; }); 
    
    var requestUri = new Uri("https://qa2.ediinsight.com/transfer/rt_elig.php?db=payerdev");
    
    byte[] data = Encoding.UTF8.GetBytes("DEV72*12/27/06*TAYLOR*RICH*JOE*10/28/56*U0999495102*466666666*01*TAYLOR*TAMMY*M*10/26/52***CIGNA HMO*62308*UPIN*MEDICAL CENTER**MESSAGE*M*F*30");
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestUri);
    request.PreAuthenticate = true;
    request.UseDefaultCredentials = false;
    request.Credentials = new NetworkCredential("UUUSSSEEERR", "PASSWORD");
    request.ContentLength = data.Length;
    request.ContentType = "text/plain";
    request.Method = "POST";
    
    using (Stream stream = request.GetRequestStream())
    {
       stream.Write(data, 0, data.Length);
       stream.Flush();
    }
    
    StreamReader streamReader = null;
    
    string result;
    try
    {
       streamReader = new StreamReader(request.GetResponse().GetResponseStream());
       result = streamReader.ReadToEnd();
    }
    finally
    {
       streamReader.Close();
    }
    
    txtOutput.Text = result;

It always throws bad Request exception on first run but when I move back the cursor in debugger to first line it works fine and gives the proper response in txtOutput.text and same behaviour in un-attached application, first time it throws exception but second time it works fine, can some one give me some work around or let me know what wrong i am doing here.
using .net 4.0.
