Вы удаляете pointofclass2, но, вероятно, не удаляете вектор, который содержит указатели class1 в деструкторе class1. Где объект, созданный в новом class1 (...), удаляется? Это C ++, автоматическая сборка мусора отсутствует.
Теперь, если class2 - это вектор, на самом деле не нужно для создания указателя на него, поскольку векторы все равно будут выделять память в куче.