System.Net.HttpWebRequest adds the header 'HTTP header "Expect: 100-Continue"' to every request unless you explicitly ask it not to by setting
do this
System.Net.ServicePointManager.Expect100Continue = false;
System.Net.ServicePointManager.Expect100Continue = false;