Some classes contain overloaded getInstance. The problem with overloaded getInstance methods is that the instance created using the overloaded method is not cached and so, for each call and new objects will be created for every invocation.
Examples:
class Singleton { private static Singleton instance = null; public static Singleton getInstance() { synchronized(Singleton.class) { return new Singleton(); } } }