UBoxComponent in UStaticMeshComponent and could not save map because Graph is linked to private object


I have problem.
I’m getting erorr when saving map:

Can’t save …/…/…/…/…/Documents/Unreal Projects/AAAxCaveMaster/Content/Maps/Map101.umap: Graph is linked to private object(s) in an external package.
External Object(s):

Problem is with pointer to UBoxComponent in UStaticMeshComponent (UTileStaticMeshComponent).
Basiclly TileStaticMeshComponent is same as UStaticMeshComponent.
TileStaticMeshComponent is used in Actor Object.

Below code TileStaticMeshComponent.h

class AAAXCAVEMASTER_API UTileStaticMeshComponent : public UStaticMeshComponent


	UBoxComponent* BoxComponent;  // PROBLEM ////////////////////////////////////

	UTileStaticMeshComponent( const FObjectInitializer& ObjectInitializer );

Below code TileStaticMeshComponent.cpp

UTileStaticMeshComponent::UTileStaticMeshComponent(const FObjectInitializer& ObjectInitializer )
	UBoxComponent* BoxPtr = CreateDefaultSubobject<UBoxComponent>( Name_BoxComponent );
	BoxPtr->SetBoxExtent( FVector(1.f, 1.f, 1.f) );
	BoxPtr->SetupAttachment( this );
	BoxComponent = BoxPtr; // PROBLEM ////////////////////////////////////////////

Try it with NewObject(this)

Yeah, I moved BoxPtr/BoxComponent initialization from constructor to UTileStaticMeshComponent::BeginPlay and used NewObject instade of CreateDefaultSubobject.
This is working now, but maybe You know why?
I mean what is wrong with earlier solution. What I don’t understand.