GetObject() return Undefined if GetRef(UID) didn't find object in db.
Another word, GetRef() by UID, that don't yet in db, gives you a new kind of Ref.
That why, you need to check searching result by condition:
Catalog1Ref = Catalogs.Catalog1.GetRef(New UUID(Catalog1UUID));
If Catalog1Ref.GetObject() = Undefined Then
//Can't find the reference with UUID...
By the way, the condition "ValueIsFilled(Catalog1Ref)" will always be true.