The jQuery3 data changes started doing delete elem[ expando ] similar to what jQuery1 originally did (see #1664). jQuery2 previously left the data property on the nodes and never deleted it so this wasn't an issue.
#1664 has the originally jQuery1 discussion. The jsperf mentioned there (http://jsperf.com/cleandata/4) still shows improvements using assign instead of delete with the latest Chrome.