Why does heap usage keep approaching 100%?

@warkolm in this post already speak about the number of shards and heap usage - Large heap usage with each node - #8 by javadevmtl

That's the problem then. Each shard is a lucene instance, it requires resources to maintain.

Reduce that to a reasonable number and you should see better resources usage.