Assign to a variable inside a closure a reference to the closure - does it leak?
<p>I am looking at some JS ViewModel code that uses this pattern to be able to reference the outer closure in case whatever library changes the "this" pointer when invoking a function as a callback (gotta love JavaScript):</p>

<pre><code>function FruitViewModel {
   var that = this; // &lt;-- HERE

   this.someCallBack = function () {
      that.utilityFunction();
   };

   this.utilityFunction = function () { }
}
</code></pre>

<p>My question is: Will this cause a memory leak or will it be implementation specific? (e.g. if garbage is collected inside out versus outside in)</p>

<p>Edit: Please assume that at the point when the GC considers this object for collection nothing holds a reference to <code>someCallBack</code>.</p>
