.Net CLR Unloading vs shutdown?
  

>   What Causes Finalize Methods to Be Called ?

2 answers( of 4 ) to this question are : 

* `The CLR is unloading an AppDomain` When an AppDomain unloads, the CLR considers
nothing in the AppDomain to be a root, and a garbage collection consisting of
all generations is performed. 

* `The CLR is shutting down` The CLR shuts down when a process terminates normally
(as opposed to an external shutdown via Task Manager, for example).

I assume that `The CLR is unloading an AppDomain` is when the program (console [exe] for example) is being closed ( by pressing close / normal end of program)

What about `The CLR is shutting down` ? *continuing the [Exe] program analogy above :* 

* what does it mean ?  How can I *ShutDown CLR*  ...? 
* [in the IIS world] does it mean IIS reset ?

please, can I have small explanation ?
.Net CLR Unloading vs shutdown?
===

  

>   What Causes Finalize Methods to Be Called ?

2 answers( of 4 ) to this question are : 

* `The CLR is unloading an AppDomain` When an AppDomain unloads, the CLR considers
nothing in the AppDomain to be a root, and a garbage collection consisting of
all generations is performed. 

* `The CLR is shutting down` The CLR shuts down when a process terminates normally
(as opposed to an external shutdown via Task Manager, for example).

I assume that `The CLR is unloading an AppDomain` is when the program (console [exe] for example) is being closed ( by pressing close / normal end of program)

What about `The CLR is shutting down` ? *continuing the [Exe] program analogy above :* 

* what does it mean ?  How can I *ShutDown CLR*  ...? 
* [in the IIS world] does it mean IIS reset ?

please, can I have small explanation ?