I've noticed that the server will take a few min to actually delete the session, some times up to 5. Also I feel like the server needs some kind of event to trigger the code, clicking on the web server window, or another user sending a request. If the page is getting refreshed every min then the session will get touched, resetting the timer.
These have just been my observations as I'm working on a server where I need to delete a bunch of rows when a session is deleted.