Just because you use c# doesn't mean your whole stack needs to be Microsoft. No reason why you could have Windows web-servers running asp.net/c#, but have postgres DB, nginx, memcache etc on linux. Azure seems to be actually encouraging this.
The cost of windows licenses for web-servers is not that much. Avoiding SQL Server is the big win in reducing cost.