It does not matter if your UObject have uproperties. Again, if your UWebSocket object (created by doing this _WebSocket = NewObject<UWebSocket>();
) is not referenced by any of monitored variables that have UPROPERTY() it is considered unused/forgotten trash by the engine and deleted by GC.
If you just keeping it in normal pointer (which it seems as module classes are outside of engine reflection system sight) without trying to prevent GC i can guaranty you this is the reason of the issue, your UObject get deleted and you left with invalid pointer, you having typical symptom of it and i don’t belive NewObject gives you dead pointer, if fail it would give you null and print something in log or even crash the engine with assertion check fail.
I had the same adventure with AudioComponent when i was playing with module class for the first time, object just dissapered and i had a crashes that i didn’t understood at beginning as i was not aware of GC function.