-
On a class that implements security features, so that the original object cannot be “impersonated”.
-
More generally, I recently exchanged with a person at Microsoft, who told me they tried to limit the inheritance to the places where it really made full sense, because it becomes expensive performance-wise if left untreated.
The sealed keyword tells the CLR that there is no class further down to look for methods, and that speeds things up.
In most performance-enhancing tools on the market nowadays, you will find a checkbox that will seal all your classes that aren’t inherited.
Be careful though, because if you want to allow plugins or assembly discovery through MEF, you will run into problems.