It works for me, but adds serious lag to first call of any world context dependant functions. So I used different approach - I pass GameInstance to my UObject upon creation and then delegate GetWorld call to it instead of GetOuter(). Could be any other world context aware object, I just had reference to GameInstance already avalible.