Likely your Communicator Instance is null somehow, or the SpawnedCharacterDetails is getting nulled, and when it goes to add the CharDetails, it crashes because it’s trying to allocate some garbage value. It would be entirely random what garbage value it’s reading - so that could be part of it. Also if Communicator is a UOBJECT with no one holding on to it, it could be getting GC’d.
If you are using a Singleton pattern, I would highly suggest leveraging the Subsystem interface that went in with 4.22, much better way to guarantee lifetime.