Pointer to subobject gets invalid after creation

As far as I can see you are missing a lot UPROPERTY() tags above pointers. That could mean that the CoverHelper instance is deleted by the GC as a result of the references. Rule of thumb always mark your pointers as UPROPERTY always.

You can read more about garbage collection here: