Just in case anyone was wondering, this is the author's text in the article he is following, just to reveal the GetChildInstance() method for everyone... just meant to keep user from opening more than 1 of that form at a time.
OP, as others have said, your problem has to do with how the child form is closed and disposed, and how the frmSChild handles it's instance check below to be created for the parent... I would submit your issue on the article page to the author can help you remedy the logic.
Putting life in the menus created by adding code to it
--------------------------------------------------------
1> Now in the frmSChild code add the following lines
private static frmSChild m_SChildform;
public static frmSChild GetChildInstance()
{
if (m_SChildform ==null)
m_SChildform = new frmSChild();
return m_SChildform;
}