I'm afraid to say that I've probably wasted peoples time with my own stupidity

It's neither the hide or the being the last line of code in the form, it was one of the lines after the unload command. I had some code to check a property on the main form (no problems there) and enable/disable a command button on the find form depending on the property. Can we all guess what was going on? I was dead right about it being a reference hanging round, and an implicit one too. When I referenced the command button to set it's status it created an implicit reference to the form and bang, there we go.

My problem was I was fixing a bug in some legacy code (when clicking the close find box the whole app would quit) and the close button and the other buttons on the form were in a control array. I'd prefer separate buttons but hey, that's the way it was.

If anyone's bothered, the offending code is below
Code:
Select Case Index
    Case 0
        formMain.MoveBack
    Case 1
        formMain.MoveForward
    Case 2
        formMain.StopFind
    Case 3
        formMain.UpdateText
End Select

If formMain.TextSelectedStatus Then
        'Doh!! Lets create a reference to the thing we're trying to kill
        cmdFind(3).Enabled = True
Else
        'Doh!! Lets create a reference to the thing we're trying to kill
        cmdFind(3).Enabled = False
End If
Sorry to have been a pain

K