Problem with Garbage Collection(StandAlone Game)

Hello devs, I have a problem with preventing Garbage collection destroying my object that’s inherited from UObject class. In editor Garbage Collection does not destroy AttackData variable as expected. But in standalone version, Garbage Collection destroys the AttackData. Here is the code:

Header File:
    
    UPROPERTY()
    UAttackData* AttackData;
    
    CPP file:
    
    AttackData = AttackData_Create(some parameters);
    
    UAttackData* Project:: AttackData_Create(some parameters)
    {
        // I almost tried every enum value of EObjectFlags - no success at all
        // Outer is valid character who uses the object.
        AttackData_Inst = NewObject<UAttackData>(this, UAttackData::StaticClass(), 
        "AttackInst_" + AttackInst_Count , EObjectFlags::RF_MarkAsRootSet);
        //AttackData_Inst->AddToRoot();
        AttackInst_Count += 1;
    
    	return AttackData_Inst;
    }