The way in which .NET's cross-platform nature is achieved is different from the approach taken by Sun Microsystems with the handling of the Java programming platform. Unlike Java, Microsoft itself does not provide installers of .NET for Mac, Linux, etc. Rather, Microsoft has released a set of formalized specifications that other entities can use as a road map for building .NET distributions of their platform(s) of choice. Collectively, these specifications are termed the CLI.
--Andrew Troelsen "Pro C# 2008 and the .NET 3.5 Platform"
The CLI is in many ways, more distributable than JAVA. Microsoft has no claim to it, unlike Oracle and Sun Micro-systems over JAVA. They merely defined a specification, such as an RFC, and the mono developers met it. You may need to contend with GPL and make sure you aren't breaking any of their rules though.
And yes, I used it in a Gstreamer based mac application for recording and uploading lectures.