Lately I\'ve bumped into a question that made me pounder; it kept me busy and I couldn\'t find a transparent explanation for it on the net.
It is related to the destruct
Good Question :)
Excel controls the creation of its objects. Likewise it also controls their destruction.
Setting oApp = Nothing just destroys the object reference. It doesn't remove the Application. To destroy an Excel object, you have to use it's .Quit method.
Whenever you do, Set x = Nothing, the reference(pointer) named x to its relevant object is removed. This doesn't mean that the object itself will be removed from the memory.
Whether the object will be removed from memory or not, depends on various factors.
The .Quit method is defined to graciously remove all the memory objects excel has allocated, and close itself.
It is similar to calling Close on a form in VB6. Take for example, a form in vb6.
Dim f As Form
Set f = Form1
f.Show
'
'~~> Rest of the code
'
Set f = Nothing
Will this destroy the form? :)
FOLLOWUP
How about question 2? Thanks – Kim Gysen 14 mins ago

It might not be exactly as shown here, and compiler optimizations may make things behave differently... but this is the basic concept that is at work.