FLazyObjectPtr is a type of weak pointer to a UObject that uses a GUID created at save time. Objects will only have consistent GUIDs if they are referenced by a lazy pointer and then saved. It will change back and forth between being valid or pending as the referenced object loads or unloads. It has no impact on if the object is garbage collected or not. It can't be directly used across a network.