After reading stuff about Mono in Dr. Dobbs, I have another version of Miguel's motivation. I am scared to death to say so, but looks like MS got things right in .NET platform this time around. Remember how Java started? Sun introduced VM and sandbox, with the emphasis on traveling code (applets). Turn out, nobody wants traveling code that badly. What people wanted was RPC, more or less. Then Sun tacked RMI on to it. And then Java Beans appeared. And Java Beans Enterprize Edition.. And so on.
Now, MS started right where Sun dropped the ball. Fine, they have sandbox and mobile code. But the whole model is built around interoperation. It is done first and foremost to allow for function calls between pieces written in different languages, running in different address spaces, on different machines, and even in different component architectres.
If I understand him right, Miguel saw this aspect of .NET - a better Java than Java - and he decided to use it for Gnome. It's not their class libraries for, say, database access. It's the VM that makes inter-language and inter-process and inter-computer communications simple. That can hardly be patented. And that's what Gnome will be based on.