Advanced Cleanup

Advanced cleanup covers areas such as cleanup of heap arrays, cleanup of non-CBase classes and use of TAutoClose.