Adding component in OnConstruct adding multiple?

void ABaseCharacter::OnConstruction(const FTransform &transform)
{
Super::OnConstruction(transform);

	USkeletalMeshComponent* parentSkeletalMeshComponent = GetMesh();
	USkeletalMeshComponent* skeletalMeshComponent;

	int i = 1;
	for (auto interator = MeshSlots.CreateConstIterator(); interator; ++interator)
	{
		FName meshName = interator.Key();
		FT3MeshSlotInfo meshSlotInfo = interator.Value();

		if (!meshSlotInfo.SkeletalMeshComponent)
		{
			skeletalMeshComponent = NewObject<USkeletalMeshComponent>(this);
			if (meshSlotInfo.UsesParentMeshPose)
			{
				skeletalMeshComponent->SetMasterPoseComponent(parentSkeletalMeshComponent);
			}

			if (meshSlotInfo.DefaultMesh)
			{
				skeletalMeshComponent->SetSkeletalMesh(meshSlotInfo.DefaultMesh);
			}

			skeletalMeshComponent->AttachToComponent(parentSkeletalMeshComponent, FAttachmentTransformRules::SnapToTargetIncludingScale, meshName);

			meshSlotInfo.SkeletalMeshComponent = skeletalMeshComponent;
			UE_LOG(LogTemp, Warning, TEXT("Mesh %d"), i++);
		}
	}
}

The above code (even with the extra if statements that SHOULD stop this from happening…) generates this… The one with yellow around it is the only one that highlights when selected in the editor.

What’s going on?