Using case A has following benefits:
- You reduce dependency between classes SingletonClassMembers and SingletonHiddenImpl.
- You don't need to create configurator pattern in class SingletonClassMembers if you trying avoid restriction on (1) by dependency injection
- This case is weak, but anyway: it is simple to maintenance single class
- In multithreading environment you will need to support both class synchronization mechanism, while in single class only single locks is needed.