Partitions Cached value changing

We are running some stress testing and have noticed an issue on the Partitions Cached value on a particular projection and wanted to understand if it is a problem, or just a lack of understanding.
Initially, we have 100 Partitions Cached, and as time goes on, the number drops (but again, as time goes on, the number starts climbing again)

Is this expected behaviour?

Could it be related to checkpoints being written, or is a partition only cached for a set amount of time, and only becomes cached again when accessed?

Thanks in advance.

PartionCache1.PNG

PartionCache2.PNG

Partitions cached is referring to the state of the projection and how many are cached in memory. I have to jump into the code to verify but IIRC its a LRU cache for the states. It has nothing to do with checkpoints being written.