Yes, but it really depends on how you define 'object'. In the object-oriented paradigm, an object is an instance of a class. Strictly speaking in the case of C#, that would mean that only reference types on the managed heap are objects. It's consistent with theoretical OO terminology. However, a more pragmatic view is that anything that derives from System.Object is an object. In practice I don't really think the semantics of 'object' is much of an issue because we typically only talk about reference types and value types. It's just something for you to be aware of.