I have a question regarding garbage-collection in google chrome (Version 20.0.1132.47, Ubuntu 11.04 64bit).
While comparing heap-dumps and checking for memory-leaks, I d
Your suspicions that this is not an actual memory leak but weirdness with chrome is correct.
I recently ran across the same problem. IE11 will not show this.func = _.bind(this.func, this) as a memory leak while chrome will, even after you press the collect garbage button 100 times.
It will show it even after you run chrome with the jsflag nonsense and expose the underlying garbage collector and call gc 100 times.
A easy way to prove that it is in fact not a leak in chrome is to make a minor issue a major issue with the browser and force the engine to take action.
On the instance that has the bound function assigned to it assign a new property like this:
target.WhyAmILeaking = new Array(200000000).join("YOURNOT");
Do the three snapshot technique with chrome and you'll see that string present in the heap clocking in at around 214mb. Do whatever constructive action (the second snapshot) again and you'll see the heap go to 423mb or stay at 214mb. If it stays you're done as you proved the original 214mb has been collected. If it doesn't stay do your destructive action (third snapshot) and it'll go back to 214mb also proving the original got collected.
If it just stays at 423mb you sir or madam have a leak.
Oh and another group of poor souls that ran across the exact same situation: https://github.com/jashkenas/backbone/issues/2269#issuecomment-13610969
TL;DR; use IE 11 for detecting leaks.