Hello,
Please note that in terms of Garbage Collection, the only Unreal Engine 4 container that is safe to have UObject or UObject-derived pointers is TArray.
Please also note that for proper functionality in this context every class member should be declared as UPROPERTY().
I would also suggest checking your components in terms of being registered/attached to Root.
If you like to learn more about Garbage Collection in the Engine, please go here:
Hope this helped!
Good luck!