When the Gang of Four wrote their Design Patterns book, the Singleton became one of the most popular patterns.
You could easily understand its mechanism, and everyone was looking for some mechanism to steer away from global defined functions and variables. We also found it useful that we could guarantee that only one instance of something would run at the same time.
History learned that Singletons do not guarantee that only a single instance runs, and that the pattern has some issues.
It is difficult to properly manage the life cycle of a Singleton (the memory issue you refer to). It adds complexity to unittesting. Critics started to point out that Singletons were merely a pseudo solution for global defined thingies, and classified it as an antipattern.
The pattern community has learned. New patterns have emerged that solve some of the problems that were originally addressed by Singleton pattern.
I would like to take the opportunity to honor the Gang of Four. They changed my mind. Some of the patterns they documented can be challenged, but they lifted reuse to another level. They provoked our thoughts.