Modifying Input pin data objects corrupts the whole node chain

I did remove some points from my InputData array and it changed the whole Input/Output chain even for a PCG node before. I thought, they should be more independent and create separate (non-referenced) pin variables, because it looks like an instant virus to spread the data corruption. So, maybe I can’t modify the wrapper, but it looks possible for its children.

const auto Inputs = Context->InputData.GetInputsByPin(PCGConstants::Inputs);

for (const FPCGTaggedData& Source : Inputs) {
    const UPCGSpatialData* SpatialData = Cast<UPCGSpatialData>(Source.Data);
    if (const UPCGPointData* ConstPointData = SpatialData->ToPointData(Context)) {
        UPCGPointData* PointData = const_cast<UPCGPointData*>(ConstPointData);
        RemovePoints(PointData);
    }
}

void RemovePoints(UPCGPointData* PointData) { Points.RemoveAt(0); }