I haven't got a solution for you - but I'm experiencing a similar issue which seems to have only just developed with a recent update to IE11 (not sure when). My code was working in previous version of IE and works fine in Chrome. It writes out some data to a memory stream that it then uses BinaryWrite to write to the response. This is now hanging (an the amount of data is very small - a few hundred bytes)
using (MemoryStream stream = new MemoryStream())
{
using (XmlTextWriter writer = new XmlTextWriter(stream, Encoding.UTF8))
{
}
byte[] content = stream.ToArray();
Response.AddHeader("Content-disposition", "attachment; filename=AuthenticatedLicense.lic");
Response.ContentType = "application/octet-stream";
Response.BinaryWrite(content);
Response.End();
}
Everything I have seen indicates that this is the correct way of doing things - but it seems IE11 is broken.