If you create a singleton as we did for the Managers, as a static locally declared variable like:
static myClass single;
then, yes, when the engine goes to delete it, it will segfault. You can't call delete on an object allocated off the stack - it has to be allocated via new. What can do is something like:
static myClass *p_single = new myClass();
adjusting the signature to return a pointer to myClass. Once done, when the world manager deletes the object upon shutdown, it can do so and not fault since it was allocated via "new".