Мои 2 цента.
Просто спроектируйте свое приложение таким образом, чтобы на самом деле не имело значения, было ли оно передано на ваш объект синглтоном.
Подумайте, есть ли внутри MySingleton.Instance -> это выглядит плохо, и вы тесно связаны с этим.
Если вы передали MySignleton в качестве параметра в методе, и он был создан снаружи как MySingleton.Instance или новый MySingleton () -> да, я все еще могу смоделировать или изменить его, чтобы это не имело значения.