Answer
This usually happens when a user's previous session didn't log off cleanly (their session lock only clears automatically after an HTTP timeout elapses), or less commonly due to a network issue between client and server. The actual lock record lives in the FND_CLIENT_LOGON_TAB database table rather than in the session-monitoring views you already checked — query that table directly using the affected user's DIRECTORY_ID and OS_USER values to find their specific stale row, then delete that row and commit. Going forward, make sure users exit the client properly via File > Exit rather than force-closing it, since an improper exit is what leaves this kind of stale lock record behind in the first place.