A session will live (keep alive) as long as javascript is running - which usually means as long as the browser is open and online.

If a session is disconnected/expired we usually see that if the internet connection is disconnected, e.g. moving between different wifi networks etc.