Migrating to 4.9: UnrealHeader Tool fails at a UPROPERTY(BlueprintReadWrite) of TArray

“Aforementioned Reference Cycle” is the cycle I get when I do not use Weak Pointers in my previous code, as explained in my question. This reference cycle prevents items from being garbage collected, thus they are not destroyed. That’s why I originally did as in the documentation

When I use weak pointers, there is no reference cycle, therefore objects get destroyed, therefore weak pointers got invalidated, and that’s when I removed them. This statement is contingent upon there being no reference cycles.

As to the pawn and controller case, their cycle is broken at the actor’s EndPlay(), that calls the Pawn’s EndPlay(), that detaches from the controller. They don’t have an issue because each pawn has the life cycle of the actor.

Which is not my case.