Eu só tive uma situação em que desativei um aviso. Eu considero erros de aviso para que normalmente não seja liberado com avisos. No entanto, durante o desenvolvimento de uma API em clientes, enfrentei o problema de que um método que era necessário em uma fase de migração por um aplicativo e que nenhum outro deveria usar deveria ser incluído na biblioteca.
A melhor maneira de encontrar para dizer a todos os usuários da API que eles não deveriam chamar esse método era marcá-lo como obsoleto. Isso, no entanto, significava que o único caso de uso válido foi marcado como um aviso de compilação.
Eric Lippert escreveu alguns posts sobre avisos, onde você encontrará informações sobre como a equipe do compilador pensa sobre os avisos.
Campos internos de tipos internos
As diretivas não utilizadas não são marcadas com avisos