There might be exceptions, but for reference types the new
-keyword usually creates an object in an internal data structure called "heap". The heap is managed by the CLR (Common Language Runtime). It makes no difference whether you have a static or instance member or a local variable.
The difference between static members and instance members (the ones without the keyword static
) is, that static members exist only once per type (class, struct) and instance members exist once per instance (per object).
It is only the reference which is static or not; this distinction does not apply to the referenced object (unless the object is a value type). A static member, an instance member and a local variable can all reference the same object.