fixed memory leak, core::allocator does not call destructor on std::vector