If you get an error message you don't understand, Google it:
Unable to evaluate expression because the code is optimized or a native frame is on top of the call - Google Search[
^]
As you can see, you aren't the first to have this problem.
Start looking at some of the links, and you will find this:
asp.net - Response.End() throwing an Error - Stack Overflow[
^] which is probably the same problem (and a solution).
Response.End is designed to terminate a page - so if you have an synchronous download going at the same time, then yes, it will probably terminate it.