I would advise you to update to 6.9.1. See the release notes here: https://world.mendix.com/display/ReleaseNotes/6.9.1
Version 6.9.0 has a bug that has been fixed in 6.9.1.
You may check "Running Actions" for the running actions, maybe this gives you an insight in why the session is not destroyed. It could be a database lock.
Thanks for the response. I checked running actions and found that sessions are not getting destroyed as it is still trying to retrieve UserRole by $currentUser/UserRoles. The console shows the duration of this retrieve action as more than 2 hours and the associated user is no longer logged into the application. Our automation scripts use the same user ID to test the application on multiple machines/browsers. Does this has anything to do with the lock on UserRole entity? If so, how can we fix this issue?
UPDATE - We tried testing the application manually with different user IDs and still the sessions are not getting destroyed trying to retrieve UserRole by $currentUser/UserRoles.