Is Mac Right For Win Programmer?
This is subjective but my opinion is:

If you are programming in C#, you should use Windows as Mono does not give all that is in Microsoft's version, especially if your users are on Windows.

There are several VMs: Fusion, Parallels and Virtual Box that can run Windows. 

OS X is Unix so is like Linux, so the learning curve will be similar to Linux although most Apple users think the GUI is better and easier to use. 

Mono will run as well as on Linux.

For games, OS X has more than Linux but much less than Windows and running games in a VM will be slow.

Thus why do you want to leave Windows?