What is the scope of an object returned by a Visual Basic function call

To make the question clear
Consider the VB code Below
'Assume MyPackage.MyClass is a registered classname


Global myObject as MyPackage.Myclass


Public Function MyCalledFunction() as MyPackage.Myclass
Dim MyLocalObject as MyClass

Set MyLocalObject = CreateObject("MyPackage.Myclass")
'Do something


set MyCalledFunction = MyLocalObject
End Function



Public Sub MyCallerProcedure()
'Do something else


'Is it OK to Hold the refrence of the returned
'object in a global variable like
set MyObject = MyCalledFunction()

End Sub