it's called a singleton design which often returns a class or null and people like to call it "evil" it often is meant to run on single instance and some standard require you to private constructor and clone etc... blah blah blah...
Singleton design means that only one instance of a class should exist in the system. It is by no means evil. However, doing it in PHP can lead to memory leaks in a long running system like PocketMine.
Honestly I have little idea, this is just something that I was told way back when. I think the idea is if a plugin is removed from memory and doesn't clean up the reference to itself, it won't be garbage collected. And then the plugin will maintain references to who knows what (players, entities, chunks, and etc...) which could lead to a memory leak.
I bet it won't get too bad unless you have a plugin that keeps renaming its main class, not to mention that rarely do people unload plugins without stopping the server. Mainly, it's much harder to create a memory leak from this than to avoid one in my opinion
Whatttt, i have a plugin which has 7.5k lines and stays in main class only, i didn't make other files, why is that bad?