Low CPU usage with simulation
The simulation is likely only running on one core (with another core being partly used for scene updates).

Many (particularly older) physics simulators are single threaded, or at least some steps are. Multi threading in physics simulators is very hard due to all the possible inter-dependencies between objects, see also: Is Physics calculation multithreading possible?

Blender's rigid body engine is Bullet, which does support some multithreading, but I don't think that part has been integrated with Blender, and from what I hear, still has a fair bit of overhead.