Navmesh cut update

Hi there, I dynamically spawn navmeshcut on agent once they stopped moving, since RVO makes agents stuck when I force stop it with the script boolean. I execute this code right after.
_NavMeshCut.ForceUpdate();
AstarPath.active.navmeshUpdates.ForceUpdate();
AstarPath.active.FlushGraphUpdates();
My questions are: when does navmesh get updated with the cut? In my case waiting for 2 frames works fine. Is it consistent with multithreading? Will it get updated later on slower procesors or if I use more cores? Or is it safe to assume that 2 frames is enough? Can I check if specific navmeshcut was already calculated to not do hardcoded 2 frame check? Or maybe there is a way to do it synchronously for this frame?

Also this ( NavAgent.SearchPath(); ) causes a strong fps and memory spike(leak?) if repeated each frame (newest version, with low multithreading)

Thanks in advance.