CreateDefaultSubobject for BlendSpace causes crash!

Hi, i am trying to create blendspaces in C++ like the following:

MovementBlendSpace = CreateDefaultSubobject<UBlendSpace>(TEXT("BS_Locomotion"));
MovementBlendSpace->bInterpolateUsingGrid = true;
MovementBlendSpace->bTargetWeightInterpolationEaseInOut = false;
MovementBlendSpace->bLoop = true;

And i add samples to the BlendSpace once CDO is generated:

void MyProject::PostCDOCompiled(const FPostCDOCompiledContext& Context)
{	
	Load(); // this basically calls "MovementBlendSpace->AddSample(...);" 
}

Everything works great, the BlendSpace is created and samples are added fine. But once i close my engine, my project’s memory is cleared after some time or a restart of PC and when i open the BP class again, the engine crashes at “Load():” because the MovementBlendSpace is null.

What i am trying to do is (if anyone wants insight), add samples to the blendspace every time someone clicks “Compile” button and then everytime someone opens the BP class, the samples should already be added.

So my question are:
Why is MovementBlendSpace becoming nullptr after engine memory is free?
Is CreateDefaultSubobject limited in some sorts, should i change some settings for creation?
Should i use a different callback than PostCDOCompiled?