Related, but not directly... I'm not sure what you mean by "need for the user to manually invoke a cleaning method"?
I was thinking of devs having to use
.remove() and friends instead of say simply
el.innerHTML=''. You're correct though if they were diligent and used only lib API it is managed.
If user code can get at all of the jQuery-specific internal data, then we can't make any guarantees stability or reliability
As for exposing data, pre 2.0,
jQuery.cache existed so I'm not sure how that fits into the guarantees of stability or reliability.
As an aside, jQuery hasn't been a big user of
hasOwnProperty checks so couldn't someone manipulate the
Object.prototype and populate data values? Does that fit with stability/reliability guarantees?
Also I wanna +1 @dmethvin perf concern.