title: How can I investigate finalization queue and finalization survivors
body: <p>I'm investigating GC and memory use in our application, and have noticed we seem to have thousands of finalization survivors. Unfortunately, the number alone doesn't really tell me whether we have a problem. We are seeing general performance issues however, and we do have high memory use and spend a lot of time in GC.</p>
  
  <p>Ideally, nothing we have any control over should enter the finalization queue. It's a bug if it does. Is there some method or tool I can use to check this? One suggestion I've heard is to have a special build with finalizers that log whenever they are executed, but this is quite a lot of effort, and will only work with the objects whose types we own. Is there an easier way?</p>
  
  <p>And is it worth investigating finalization survivors? If so, how?</p>