And one final note:
This also works fine:
NewObject<UObject>(this, SopScriptType, TEXT("SOPScript"), RF_Transient);
However This with the same parameters, but in the other order, does not:
NewObject<UObject>(this, TEXT("SOPScript"), RF_Transient, SopScriptType);
The second signature is broken.