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

BeginDestroy() doesn’t get called either, because the Garbage collector doesn’t go through reference cycles.

I use WeakPointers on both UObjects and AActors, as stated in my question. If you want to see an example from Epic, you can search for TWeakObjectPtr in Strategy Game Example. I do similar things in my code.