My logic, the database is number 3 on the list of priorities. If the two java processes are running well within the memory allocation then the DB needs to be looked at.
When you reset the control panel it resets the connection to the DB and all is well until the concurrent threshold is reached again
MySql has no explicit memory setting. It sets up a memory ceiling based on its configuration, so if its not configured correctly it wont use available memory and will run very inefficiently
The amount of users you have and the size of memory thats being utilised by the DB seems odd to me unless your app is very small. Hence the focus on the DB