When you copied the ```reco::TrackExtra``` from the pileup to your new collection you used the copy constructor
```  NewTrackExtraList_->push_back(tracksExtras->at(track_counter));```
So it copied the ```edm::Ref```s from the pileup event as well. Instead of using the copy constructor, you need to call the constructor which takes all the arguments
https://cmssdt.cern.ch/SDT/lxr/source/DataFormats/TrackReco/interface/TrackExtra.h#063