The region of memory that the memory debugging mode helps with is known as the heap. The heap is the area managed by the malloc, free and similar functions in C, the new and delete operator in C++, and the allocate and deallocate primitives in F90, and later Fortran derivatives.
DDT intercepts these functions to provide error detection, to record information, and to measure how much memory is being used.
The level of checks is determined by a settings level in the Memory Debugging settings dialog - from basic to full checks. Full mode can slow down codes that perform very large numbers of allocations whereas basic has a usually near-zero time cost.