Thanks for the answers, that confirms our approach as the correct one.
For example there are cases in the engine code where TObjectPtr is used locally, within a function, to store the result of creating an object with NewObject
Why is that done in those cases? Does it provide any benefits, such as for debugging?