Make sure to call
HttpContext.Current.Response.Flush();
HttpContext.ApplicationInstance.CompleteRequest();
This will close the stream and flush the rest of the content.
EDIT: Check out this link. It would seem that my original information was a bit out of date... I've been in "MVC Land" for so long I've forgotten this pattern!