UObject as Members Initialization

If a custom UObject class has properties that are UObject types and they need to be instantiated when the UObject is created with the NewObject<>() method, do you initialize them in the constructor? I’m not sure if this is correct because the constructor is called in the editor whenever the project is recompiled and it reminds me of the behavior of CreateDefaultSubobject.

UCLASS(BlueprintType)
class PROJECT_API UBeta : public UObject
{
    // ...
}

UCLASS(BlueprintType)
class PROJECT_API UAlpha : public UObject
{
	GENERATED_BODY()

public:
	UPROPERTY(BlueprintReadWrite, Category="")
	UBeta* beta1;
	
	UPROPERTY(BlueprintReadWrite, Category="")
	UBeta* beta2;

	UAlpha()
	{
		beta1 = NewObject<UBeta>();
		beta2 = NewObject<UBeta>();
	}