maxIdleTimeMS causes high cpu load

I am currently trying to reduce the extreme number of idle connections in a project. On the one hand, I use the minPool and maxPool connection options to limit the number of connections from the outset. However, this does not result in unused connections being automatically removed/closed.

The maxIdleTimeMS option seems to solve this problem. After using different values, this only seems to help if the time span is long enough (> 20 min). However, this has the negative effect of exploding the CPU load of the nodes.

Does anyone have an idea?