The most important principle in software architecture is that no principles are absolute, except this one, otherwise it would be a paradox. Theoretical correctness must be balanced by practical necessity. I don't know what the ulterior motives were in this case, but I can think of many possible reasons. Unreliable, lack of support, lack of tooling, missing observability, operations heavy, deprecation plans, dependency on another team that is unable to cater, etc. there could be many reasons one might prefer to trade-off a small performance penalty against these. Trade-offs are unavoidable in any significant system, and this seems is one of the smaller ones you would see IMO. What's more important is to make sure the trade off is a conscious choice and to plan for the consequences.