El tiempo de espera inactivo es solo el tiempo que las conexiones no utilizadas en el grupo permanecerán en el grupo antes de que se cierren/reciclen. Ese problema que estás teniendo es muy probable que no estés cerrando tus conexiones después de su uso.
Arregle su código para cerrar conexiones cuando haya terminado con ellas, cerrar una conexión la liberará al grupo de conexiones para que estén disponibles para su reutilización.
Algunos grupos de conexiones tienen tiempos de espera adicionales para el tiempo en que se puede usar una conexión, lo que obliga a la conexión a volver al grupo después de ese tiempo. Que para el usuario de esa conexión parecerá que la conexión se ha cerrado. Sin embargo, no creo que la piscina Glassfish tenga esta opción.