Quick question about how Assets are Loaded

Hello, so this isn’t critical at all, but I was just wondering if any of you knew the answer to this:

Suppose I have this code (and UThing is just any asset type):

UThing* UMyActor::GetMyThing() {
    UThing* LoadedThing = LoadObject<UThing>(nullptr, TEXT("/Game/Things/MyThing.MyThing), nullptr, LOAD_None, nullptr);
    return LoadedThing;
}

void UMyActor::SomeFunction() {
    UThing* MyThing;
    MyThing = GetMyThing();

    // Do some stuff...
    MyThing = nullptr;
    
    // Do more stuff....
    MyThing = GetMyThing();

    // Do even more stuff...
}

My question is, when SomeFunction is execyted, does MyThing.MyThing get loaded once or twice?

And, if it does get loaded twice, would it only get loaded once if prepended UThing* LoadedThing with static?

I think calling load twice within a single function will not cause 2 loads I don’t think as the first load will get cached.