Вы спрашиваете о "наследовании от System.Object" или "ссылочных типах"?
Типы значений наследуются от System.Object, но они не являются ссылочными типами.
Обнуляемые типы также являются типами значений, поэтому они также не являются ссылочными типами, но они наследуются от System.Object.
Обратите внимание, что существует разница в том, что вы, как программист, можете заявить, и в том, что предоставляет система.
Типы значений do наследуются от System.Object, но вы не можете самостоятельно объявлять типы значений для наследования от чего-либо.
Типы значений происходят от System.ValueType, который, в свою очередь, происходит от System.Object.
Технически, все типы значений происходят от System.Object.