Looking over it quickly, it could be because you don't close the PostData stream until after you call request.GetResponse();
try this:
request.Method = "POST";
request.ContentLength = buffer.Length;
Stream PostData = request.GetRequestStream();
PostData.Write(buffer, 0, buffer.Length);
PostData.Close();
HttpWebResponse WebResp = (HttpWebResponse)request.GetResponse();
Stream Answer = WebResp.GetResponseStream();
StreamReader _Answer = new StreamReader(Answer);
_referer = WebResp.ResponseUri.ToString();
string vystup = _Answer.ReadToEnd();
html = RemoveBetween("<!--", "-->", vystup);
_Answer.Close();
Answer.Close();