You see receive the “Thread was being aborted excpetion ” thrown by Response.Redirect(“Login.aspx”). There is nothing wrong with your code, and it is designed on that way.

For a workaround you can use an overload to
Response.Redirect that will pass false to the endresponse parameter to
suppress the internal call to Response.End (e.g.
Response.Redirect(“Login.aspx”, false);).