Hi! Looks like I found the issue here. If you use just CreateDefaultSubobject<>() while creating your component it causes it to be garbage-collected, so engine just deletes it and you get the crash (I had it myself for my code). Looks like you should use the UPROPERTY() tag before your component declaration, just like BegKev said before (before ALL of the components). With this tag included, your object is now properly initialized and don’t get “garbage-collected”. It worked for me.
I found (more detailed) explanation of it here: (thanks to cmartel)