You may find the answers to SO Question Why are .NET value types sealed? relevant. In it, @logicnp refers to ECMA 335, which states:
8.9.10 Value type inheritance
- [...]
- Will be sealed to avoid dealing with the complications of value slicing.
- The more restrictive rules specified here allow for more efficient implementation without severely compromising functionality.