That is a reasonable assumption, but the DebugAllocator is not designed around it, it is a recognised use case to have sub DebugAllocators if you want to leak check a smaller section of code, and its backing allocator is not required to be another DebugAllocator either.
DebugAllocator is designed to verify the assumption of general purpose allocators that is you free all memory you allocate.