title: Will golang's GC free memory of object which only be referenced by a goroutine?
body: <pre><code>m := map[string]*Object {
      "a": obj
  }
  go func(obj *Object) {
      obj.Do()
  }(m["a"])
  
  delete(m, "a")
  </code></pre>
  
  <p>will GC free memory of <code>obj</code> when <code>obj.Do()</code> has not finished?</p>