You set RegularLoginForm as File's Owner in your Window.xib; but did you also connect the Window outlet from File's Owner to the Window in Interface Builder?
i.e. Right-click on File's Owner in IB, and click-drag the Window outlet to the Window object
Further to that, I tried your code and for me it crashes on the call to
f.ShowWindow(null)
[ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentNullException: Argument cannot be null. Parameter name: sender
It runs fine if I assign the sender parameter, e.g.
f.ShowWindow(this)
However, my environment is only MonoMac; no monoobjc (I'm not sure how or why you are using both together?); so YMMV.