I've encountered a memory leak problem within my application. After some investigation, I've been able to simplify the issue into a test case found here: http://jsfiddle.net/729sv/
It seems that adding and removing geometry from a scene is causing the memory leak to occur.
If you open the JavaScript console when running the fiddle, and click on the object a few times, you'll notice that the Three.js __objectsRemoved[] array never reaches 0, indicating that the garbage collector isn't properly removing them.
Similarly, if you use Chrome's Profiles->Record Heap Allocation feature, run the app, click a few times, stop the profile, and filter by 'mesh', you'll find that there are still numerous THREE.Mesh objects lingering in memory according to the browser.
Switching the renderer to WebGLRenderer resolves both of these issues.
Could this be a bug in the CanvasRenderer or am I simply not using it correctly?