Try to use ApplicationInstance.CompleteRequest instead of Response.End(). See below code:
Response.ContentType = "Application/pdf";
Response.AppendHeader("Content-Disposition", "attachment; filename=" + File1.pdf);
Response.TransmitFile(Server.MapPath("../Brochure/" + File1.pdf));
Response.Flush();
HttpContext.Current.ApplicationInstance.CompleteRequest();
Reason: ApplicationInstance.CompleteRequest causes ASP.NET to bypass all events and filtering in the HTTP pipeline chain of execution and directly execute the EndRequest event. But Response.End() sends all currently buffered output to the client, stops execution of the page, and raises the EndRequest event. It also raise a ThreadAbortException exception.
HttpResponse.End Method (System.Web)[
^]