Migrate has a long history of reclaiming memory via PHP garbage collection. As entities get added, this memory reclamation gets kicked off.
Since https://www.drupal.org/project/drupal/issues/3498154 the static entity cache is now implemented using an LRU memory cache, which cycles items out of memory when it gets full. This signficantly improves the memory usage of long-running migrations without requiring migrate's own memory management to run at all. Therefore the memory management logic in MigrateExecutable has been removed.
If sites are on hosting with a very low memory limit, it is possible to manually tweak the number of slots in the entity memory LRU cache, so that maximum PHP memory usage stays at a lower level. See https://www.drupal.org/node/3512407