createObjectURL() is kind of like malloc(). You need a corresponding call to revokeObjectURL(). (Sorry I didn't mention that when we talked about this bug) I sometimes do that in the onload callback function, but I'm not really sure that it is safe.  

Before you overwrite this.originalSmall with a new image above you probably need something like

if (self.originaSmall)
  URL.revokeObjectURL(self.originalSmall.src);

And then in the destroy() function (or whatever it is) you probably need another revoke call.