This ensures memory cleanup happens correctly and introduces a new test project to support developing new features while stressing tough use cases for correctness.