The problem is not the LOCK_TIMEOUT parameter it is the WAIT_BEFORE_DISCONNECT parameter.
Only the client uses the WAIT_BEFORE_DISCONNECT parameter. While the client is running every 5 minutes it will send a ping to the server letting the server know it is still active. I will send these pings for the amount of time specifed in the WAIT_BEFORE_DISCONNECT parameter which in your case would be 480 minutes or 8 hours. Once there have been 8 hours of inactivity then since you have the AUTO_LOGOUT_ON_SERVERR_DISCONNECT set to Y then the user will get a message saying that they have been logged out.
On the server there is a process that runs every 15 minutes to look for sessions that have not pinged the server in the last 10 minutes. Sessions that have not pinged the server in the last 10 minutes are cleared and the license is released
So with your configuration it could take up to 8 hours and 25 minutes for the licenses to be returned to the license pool.
The LOCK_TIMEOUT sets how long an object can stay locked in the database. Meaning if someone was working on creating a test that object would be locked. If the browser crashed that lock might no get removed and the object would stay locked till the LOCK_TIMEOUT is reached.
You would need to change the WAIT_BEFORE_DISCONNECT parameter if you are having an issue with licenses being released.