Working of shallowcopy in vtk

I have the following c++ code:

vtkNew _surf;
_surf->ShallowCopy(surf);
vtkIdType cellId = Get_ClosestCellId(_surf, seedxyz);
_surf->DeleteCell(cellId);
_surf->RemoveDeletedCells();

After creating _surf, we specify it as a shallowcopy of surf. Afterwards, remove the cell closest to the seedxyz coordinate from _surf.
I thought that if I shallowcopy like this, since _surf and surf share the same pointer, the modifications made to _surf would also be reflected in surf.
However, if you output the two in vtp format, the modifications to _surf are not reflected in surf. Why is this?

I used a translator. I apologize if the sentences are not smooth.