FString in TArray of pointers changes its value to garbage

Yes, @MagForceSeven is right. Just setting outer is not sufficient.
This requires UPROPERTY or AddToRoot. (or AddReferencedObjects? I haven’t checked how it works yet).