Had the same problem a while ago. Refactoring blueprints to reduce dependencies resolved it for me. Use the Reference Viewer to figure out where you have assets depending on many others. There’s a cyclic dependency detector Marketplace asset as well I believe. Alternatively you could attach a debugger to the cooking process and inspect the callstack when the crash happens.
In my case the stack overflow didn’t happen every time the project was cooked, seemingly because the load order during cooking wasn’t always the same. I think I recently saw a console command that had something to do with a cook order random seed.
19GB size map for the PlayerController sounds like it’s way too much but depends on the overall size of your project I guess. Mine has approximately 100MB right now (by far the biggest one being a 45MB disksize/90MB memorysize placeholder texture) which is about 10% of the projects content folder total size.