Como comenta Atonovich, de hecho con una creas el objeto (lo estas instanciado) si es que no se ha creado.
Por ejemplo, si tu ya tienes instanciado un dataSet
Dim ds as New DataSet, lo puedes regresar desde una funcion a otro sin necesidad de instanciarlo nuevamente ya que existe
Ejemplo:
Cita: Dim ds1 as DataSet
ds1 = GetDS()
..
...
Function GetDS() as DataSet
Dim ds as New Dataset
...
....
dAdap.Fill(ds)
...
Return ds
End Function
Y lo mismo para los demas objetos.
Espeor haber sido claro, de todas formas cualquier cosa por aqui andamos.
Salu2