Navigation Memory Leak

I have 120 AI characters in a small, bare bones map. They do not have skeletal meshes and very little other logic. At creation they gather waypoints and store them in an array, then they call a function “OnMoveComplete” This function has a 1 second delay, then chooses a random waypoint from the array, then calls built-in function “MoveToLocationOrActor” to move to the selected waypoint, passing the waypoint’s location. Once they finish their movement, “OnMoveComplete” is called again, sending them in a loop to be constantly moving to a new waypoint. The navigation mesh is set to dynamic runtime generation (which is needed for my project).

Before play, using stat memory shows the navigation memory is around 1.22MB. After I begin play, I start with about 70fps and navigation memory starts to climb at a rate of about 1MB per 5 seconds. After 1 minute, my FPS is 45 and navigation memory is around 11MB. I have the AI destroy themselves after 60 seconds, and navigation memory never reduces (after 20 minutes of gameplay), though my FPS does jump up to 90. I have ran this several times both PIE and Standalone.

My questions are: Is there a way to clear the navigation memory cache? Is this an expected result or something closer to a bug? Would transferring movement logic to a behavior tree solve this problem?

Some things I’ve tried is giving each of the navigation invokers and setting the mesh to only generate around invokers; changing the cell size; changing the tile size UU; and changing data gathering mode to lazy.

Setting runtime generation to static solves the problem, but I need a dynamic mesh for my game. I really don’t want to implement a custom navigation system. Any help is much appreciated.

Did you ever find out how to fix this? Am having this issue as well in the latest version of Unreal Engine!