Same as you:
this->QuadTree = NewObject<UDynCubeQuadTree>();
I am doing this at runtime (BeginPlay) and also inside the Editor by overriding the [PostEditChangeProperty] method.
I think that you are going to have to do some C++ debugging to find the cause(s), Unless someone else has more info.
I also recommend checking the values of the pointers, Atleast after you are trying to create the objects.
I think you are going to have to attach the debuger to the Editor and set some breakpoints in the [NewObject] function.
You can use this before
#pragma optimize( "", off )
and after the function
#pragma optimize( "", on )
to disabe optimization of the method.
HTH