Slides from my talk @ DevoxxUS 2017. Finalizer (the Object.finalize() method) is a construct in Java which is as old as Java itself, still only few are aware of its huge side effects. In this talk we will discuss why finalizers are not always a good choice, its overhead on Garbage Collector and how it can be avoided. Using simple JMH benchmark I will demonstrate the performance overhead of finalizers. We will also talk about my firsthand experience with finalizers where just by removing finalizers I was able to fix major performance issue in a webapp for a large retailer.