The new operator (e.g. used in arrays/vectors) is not redefined in OCC classes and thus does not take advantage of OCC memory allocation mechanism (Standard::Allocate(), Standard::Free()). Instead it defaults to standard new/delete  operators.
TopTools_Array1OfShape anArray (1, 10);
will underneath call new TopoDS_Shape which will NOT call Standard::Allocate().
We discussed this issue with Andrey Betenev a while ago, so maybe there is already a bug registered. In this case, please just post an ID here for future tracking.