BeginPlay can't call class pointer's member referencing TArray

During ADummy1::BeginPlay() you are spawning an instance of Dummy2 that will go out of scope/GCed right after the function ends. Depending on the order of items being constructed in the world it might lead to strange behaviour.
If I may ask, what are you actually trying to do? There might be a better pattern for it.