What you call “monopolistic behavior” a senior/lead engineer with a brain will see as ecosystem compatibility. If you are working within an org that already uses Microsoft for everything, why the hell would you bother introducing a new stack everyone else will have to learn rather than use the Microsoft offering if it’s competent enough? On top of that, the Microsoft product will most likely work nicer with other MS products. Same reason people buy iPhones and Macs and stay in the apple ecosystem. Yeah it’s not as hip and exciting but enterprise development is rarely hip or exciting. At a startup not already using MS products, yeah no shit you can use whatever you want with little to no considerations for compatibility within the stack, especially when your main goal is cost savings.