Closed form not closed
I'll try to answer this but keep in mind, you left a few details out. So, if this doesn't explain it please repost with more details.
Memory is allocated when the code "dim x as new...." is encountered. "X" is a pointer variable to the beginning memory where the form is stored. MS documentation leads you to believe that the memory is wiped when the code "x = nothing" is encountered. Nothing could be futher from the truth. What happens is that memory location of "X" is released back to the stack making that memory location available for other uses. The memory allocated for the form is still taken up with the form's value(s). So, when the trigger event is fired vb.net attempts to find "X" and guess what? Even tho its been released its still there because no other use has been allocated for memory location known as "X"! so, your form appears to be still resident. Be warned tho, if you program your code assuming this is always the case another dim may be encountered that may take the memory location for "X" and poof - your form no longer can be accessed because now the memory location of "X" is being used for something else.
so, get it? how do you fix your problem? don't know, not there, don't want to see it. but, knowing what i've written above may help you recode your processing so that this situation doesn't affect your processing.
ed.
Isn't coding with MS products fun!