Я не думаю, что есть какие-либо проблемы с вложенным синглтоном, учитывая, что ни один класс не содержит ссылку на другой. Учитывая, что вы говорите, что синглтон обеспечивает изменяемое хранилище данных для нескольких экземпляров, я думаю, что ваши потенциальные проблемы будут связаны с параллелизмом.
Они применяются только в том случае, если разрешен многопоточный доступ, то есть сначала мы должны убедиться, что соответствующие блокировки установлены, чтобы синглтон всегда находился в допустимом состоянии. И, во-вторых, если одноэлементное состояние изменяется, и объекты получают доступ в недетерминированном порядке, результаты не будут предсказуемыми (то есть состояние гонки).
Если параллелизм не является проблемой для приложения, я считаю, что использование частных вложенных классов является отличным способом скрыть детали реализации и обеспечить, чтобы у каждого объекта была только одна роль.