Didn't MS also do OS/2 early on? Didn't they bill IBM by line of code?
I can't say much about Solaris, I used it - much later - on sparc and amd64.
I can say that I was writing 16 bit windows apps in '95, including drivers and VxDs, and Win 3.1 was a piece of garbage inside and out.