Ну тогда надо не this возвращать, а новый объект. Иначе такой код не будет работать:
var $div = $('div');
var html = $div.html(); // меняет toString на выдачу html
var text = $div.text(); // меняет toString на выдачу text
alert(html); // выдаст text вместо html
Но тогда html !== $div, но по-другому и быть не может, иначе возникает противоречие.