what does knowing APIs have to do with learning .NET?
Large sections of the framework are just wrappers on existing API functionality - particularily the threading/waitable timers type stuff.

I am not happy with things like "garbage collectors"...as I like to have 100% control of what is created and destroyed and when it happens.
If you have a class that does something when it is terminated then you should give it a Dispose method and make it implement IDisposable...e.g.

VB Code:
  1. Public Class Woof
  2.    Implements IDisposable
  3.  
  4.    Public Sub Dispose() Implements IDisposable.Dispose
  5.       '\\ Do your cleaning up here...
  6.    End Sub
  7.  
  8. End Class
This is how things like controls that have to dispose of windows resources are coded.