¿Por qué los valores de restitución inferiores a uno siguen causando rebotes infinitos en Box2D?

Actualmente estoy tratando de implementar el rebote de baloncesto en mi juego usando Box2d (jBox2d técnicamente), pero estoy un poco confundido acerca de la restitución.

Al tratar de crear la pelota en el banco de testings primero, me encontré con un rebote infinito, como se describe en esta pregunta , sin embargo, obviamente, no estoy usando mi propia implementación.

El manual de Box2d describe la restitución de la siguiente manera:

La restitución se usa para hacer rebotar objects. El valor de restitución generalmente se establece entre 0 y 1. Considere dejar caer una pelota sobre una table. Un valor de cero significa que la pelota no rebotará. Esto se llama colisión inelástica. Un valor de uno significa que la velocidad de la pelota se reflejará exactamente. Esto se llama colisión perfectamente elástica.

Mi confusión radica en que todavía estoy recibiendo rebotes infinitos con valores de restitución de 0.75 / 0.8. El mismo comportamiento se puede ver en el banco de testings bajo Vigilancia de colisión -> Restitución variable , en la 6ª y 7ª bolas. Creo que el último tiene restitución de 1, lo que tiene sentido, pero no entiendo por qué la penúltima pelota rebota infinitamente (como está sucediendo con mi baloncesto que he creado).

Estoy buscando entender el concepto de restitución de manera más completa, así como también search una solución para el rebote infinito con el framework Box2d. Mi instinto era dormir objects que parecían moverse en incrementos muy pequeños, pero esto parece un mal uso del motor. ¿Debo simplemente trabajar con valores de restitución más bajos?