Pessoalmente, eu participo em colmeias se não colocar objetos ADO que implementam IDisposable no uso de instruções. Mas, no meu contrato atual, descobri que o código de "provedor de acesso a dados" da estrutura corporativa doméstica não 1) implementa IDisposable e 2) chama Dispose () em qualquer coisa que ele use, a qualquer momento. Os usuários têm reclamado bastante sobre problemas de desempenho nos aplicativos WinForms que usam fortemente essa estrutura para acesso a dados e, embora existam muitos outros problemas no código que poderiam estar atingindo o desempenho, este apenas grita comigo e é mais frutas mais baixas do que as outras.
Portanto, além de dizer algo como "Dispose existe por uma razão, use-o", o que posso dizer a essas pessoas para convencê-las de que isso é muito, muito ruim?