There is an instance of the class created, with all static members initialized.
Members of static classes are normally stored on the heap, members of value types are normally stored on the stack.
This doesn't have to be the case tho, you can read this blog for further information.
It is from one of the language designers from C#, Eric Lippert.
The blog shows that it's, contrary to normal knowledge, not sure that the value types are on the stack and reference types are on the heap, but they usually are.
It's just not specified in the specification.