Try static instance inside class : New class Singleton1 created Using old class Singleton1 Using old class Singleton1 Try static instance inside function : New class Singleton2 created Using old class Singleton2 Using old class Singleton2 Class Singleton1 destroyed at script end Class Singleton2 destroyed at script end