If each user is holding a database connection, you've got a problem right there. Users should never "hold" database connections except for very specific types of applications. Connections in a pool are shared and swapped out all the time. Users may use 10 different distinct connections during their session without even knowing it.
The limit in your example is that a maximum of 50 concurrent processes can hold a connection at a given time. Any processes passed that will either wait or get an out of resource exception.