Also; Quality, easy of use, availability of (commercial) software etc are the better selling points. Frankly, free is one of the shittiest selling points for corporations. The cost of OS licenses is ridiculously small compared to everything else. Hell, employers have to pay almost 100x the price of Windows/Mac license to one employee per month, with taxes and benefits. If things work better with Windows/Mac then it's a no-brainer. With servers the cost are much higher, and Linux been used with them a lot more and has better compability, so it's less of an issue. But even still Linux has only managed to get about half and the other half goes to Windows Server, which admittedly is used more in internal-facing servers.
"Free" just isn't good selling point for companies. The time you need to waste with Linux costs a lot more than something that just works. Hobbyists might value their time less, but employee hour for a company costs A LOT.