One way is to create a MyForm class that derives from Form and contains a static collection which reflects the open forms. In the Shown event, the class adds it to the collection, in the Closed event it removes it.
Quite why the OpenForms collection should be empty I'm not sure - but it may have to do with the Owner changing when the culture is changed: OpenForms requires your app to be the Owner to return a valid list:
https://msdn.microsoft.com/en-us/library/system.windows.forms.application.openforms(v=vs.110).aspx[
^]
I haven't looked at the source code for changing culture though, so it's just a guess.