Это может быть очень простой вопрос, но я немного смущен. Если я отражу код типа Int32/Double/any value, я вижу, что они являются структурами и выглядят следующим образом:
[Serializable, StructLayout(LayoutKind.Sequential), ComVisible(true)]
public struct Double : IComparable, IFormattable, IConvertible, IComparable<double>, IEquatable<double>
{
....
}
Итак, почему мы говорим, что все в .NET происходит из System.Object. Я думаю, что здесь отсутствует какой-то важный момент.
EDIT: Что еще меня смущает, так это то, как может тип значения, который наследует структуру от System.Object, который является классом.