Não exponha List em modelos de objeto. Use Collection , ReadOnlyCollection ou KeyedCollection . List deve ser usado na implementação, ...

Não exponha List em modelos de objeto. Use Collection, ReadOnlyCollection ou KeyedCollection. List deve ser usado na implementação, não na API do modelo de objeto. List é otimizado para desempenho pelo custo do controle de versão de longo prazo. Por exemplo, se você retornar List para o código de cliente, você nunca poderá receber notificações quando o código de cliente modificar a coleção.