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

Hi,

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):
@BoxComponent

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

UCLASS()
class AAAXCAVEMASTER_API UTileStaticMeshComponent : public UStaticMeshComponent
{
	GENERATED_BODY()

protected:

	UPROPERTY()
	UBoxComponent* BoxComponent;  // PROBLEM ////////////////////////////////////
public:

	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.