We discovered that the DoNNavigationManager doesn't delete the threads it creates in BeginPlay. It can lead to crashes (callstack usually dying in CreateInternal when it tries to make more threads). We fixed it by adding a delete to EndPlay.
if (WorkerThread)
{
WorkerThread->ShutDown();
delete WorkerThread;
}