If your app is something others will use, for the best experience you write your app in such a way that the UI is as swappable as possible. Then write a Mac UI with monomac and a Windows UI with WPF. If it's just you who needs it, then Gtk# might be ok for standard things. But don't expect good os integration without work.
-Build a GUI app in C# -Run in on both my Windows dev machine (Windows 7), and my main desktop (OS X)
That's it. I don't care even what I have to use to build the app (Windows Forms, Stetic, etc).
Any advice?