Question: I know the functionality of a Sealed class. That its not inheritable. But my question is why do we need a Sealed Class?
If not inheriting properties and methods is the motive, why don't just declare them as private?

Answer: 
1.On a class that implements security features, so that the original object cannot be "impersonated".

2.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.
You can leave members public so that code outside of the class can use them. This can happen irrespective of whether there is inheritance or not.

The reason a class might need to be sealed is that inheritance needs to be designed for. The author of a class must take into consideration in what way inheriting code will interact with the base class code.

In my opinion it is a mistake in the C# language to make classes inheritable by default. Java went even further and made methods `virtual` by default which appears to many as a design mistake.