UPROPERTY created at runtime on a Character gets invalidated after a Sequencer clip on Cooked Build

I have a character that i enter on a LevelSequence which starts playing after a key press (for debugging purposes).
The character creates a subobject at runtime on BeginPlay like this:

UPROPERTY(Transcient)
UPaperZDAnimInstance *AnimInstance;


if (AnimInstanceClass && !AnimInstance) {
		AnimInstance = NewObject<UPaperZDAnimInstance>(this, AnimInstanceClass);
		AnimInstance->Init(this);
	}

This works very well… but i discovered that after playing a Sequence in which the character is inside (like trying to move the character, etc) after the IMovieScenePreAnimatedTokenProducer tokens are all called… the AnimInstance is Invalidated (everything inside the AnimInstance is marked as INVALID (the GC acted on that object…What is happening? the UPROPERTY never stops pointing to the object so it couldn’t have been GCed as there’s still a pointer to that UOBJECT

I came to the conclusion, that using an UObject on IPersistentEvaluationData was the problem, after the TearDown of the MovieScene all the Persistent Evaluation Datas get deleted, and this makes the UObject die for some reason…
This can be solved by Requesting a TearDown on the Track and removing the UObjects from the persistent data like this

void FPaperZDMovieSceneAnimationTemplate::TearDown(FPersistentEvaluationData& PersistentData, IMovieScenePlayer& Player) const
{
	// Remove the animsequence by hand, to avoid the bug that destroys the actor... and our dreams
	FAnimationSectionData &ThisSectionData = PersistentData.GetSectionData<FAnimationSectionData>();
	ThisSectionData.AnimSequence = nullptr;
}

Don’t know if this is intended, but the error given is criptic a.f… crashing on NEW on game.dll in some cases… or deallocating the object in some other cases