Gotcha 
In class module
VB Code:
Private MyForm As Form1
Public Sub Show()
If MyForm Is Nothing Then
Set MyForm = New Form1
End If
MyForm.Show
End Sub
Private Sub Class_Terminate()
Set MyForm = Nothing
End Sub
In Form1
VB Code:
Private Sub Form_Unload(Cancel As Integer)
Cancel = True
Me.Hide
End Sub
The problem here is if you destroy the class before the user closes the form, as this would just hide the form and it would stay like that until u turned your PC off
You would have to add the following in the class terminate event:
VB Code:
Private Sub Class_Terminate()
If Not MyForm Is Nothing then
UnLoad MyForm
Set MyForm = Nothing
End If
End Sub
Does that make sense?
Is that what you wanted?