When does the Session_OnEnd event in the Global.asa file execute?

If I put the following in my Session_OnStart

Response.write "Started"
Response.end
it works fine, so I can see that my Global.asa is executed

In my Session_OnEnd event I have

Response.write "Ended"
Response.end

I have a link on my site that calls the session.abandon event, but when clicked the session_OnEnd does not happen

What happens when a session.timeout occurs, is the session_Onend supposed to execute?

What happens when a user closes the browser, is the session_Onend supposed to execute?
Basically I can Never see that my session_OnEnd is executed

PLEASE HELP, I am desperate?