Run-time memory model
In the runtime, types, objects, threads, and managed pairs have a mutual relationship. A Windows process for the CLR, which may exist in more than one now.
When a thread is created, it allocates a stack of 1M. This stack is used primarily for methods that pass arguments and local variables defined inside the method.
If there are objects involved in the method, the type object and the type instance are created in the heap. Type objects are primarily composed of type object pointers, synchronized block indexes, static fields,
Method list. Type instances consist primarily of type object pointers, synchronized block indexes, and instance fields.
The type object pointer to the type object, which is a pointer to the type object for the type instance. Their interrelationships are as shown.
With this diagram, it is clear that the memory of the runtime is made up of those parts. There is some help for subsequent understanding of the CLR.
Run-time memory model