The incorrect use of NewObject() to instance nested class-owned subobjects will force StaticAllocateObject() to reconstruct the instance that was already constructed by the outer class ctor in native engine code. This will eventually result in a call to the UObjectBase dtor.
When async loading is enabled, the UObjectBase destruction will assert if the load results in this code path occurring on an async load worker thread rather than the main (game) thread.
Suggested workarounds are as follows (only one of the following is needed):
There's no existing public thread on this issue, so head over toAnswerHub just mention UE-87038 in the post.