When a request ends another come just after, right ? Instead of doing things at the end of the request you could do stuff at the beginning of the other request. Then you can check if the user can access application, etc ... see security documentation. Does it help ?
Generally doing stuff at the end of the request is not a common practice, but you can (see terminate
event), Symfony2 uses this event to send emails.