Your naming here is confusing.
MyParent is not the parent of the created forms, but their owner.
In fact, MyParent is not needed. Your scheme would be simpler if you dispensed with "MyParent" altogether and made the already exisiting Application instance the owner of each form, using the Application.Components[] array to track which forms are visible, how many there are etc.