Changed the Table Destructor to a Finalizer.

This was the cause of a memory leak. As far as I understand c++
~destructors are never called automatically by GC. !Finalizer however is
called automatically by the GC. This code relies on the GC, hence the
deleting of unmanaged resources should have been in the !finalizer not in
a ~destructor. (I just learnt all of this, hence the detail).
Merge pull request #6 from t3hmun/TableLeakBugFix

Changed the Table Destructor to a Finalizer.