Это не имеет особого смысла.
Во-первых, смысл синглтона в том, что все, что зависит от этого предмета, должно видеть одно и то же - этого очень трудно достичь, если ваш фабричный метод передумает.
Кроме того, если вы говорите о NHibernate ISessionFactory
(не так ли?), У него не будет временных сбоев такого рода, которые можно восстановить (или, если это возможно, вы можете объяснить, почему - я нет эксперта по этому вопросу). Я ценю, что создание сеанса может потерпеть неудачу (но вы не будете хранить его как одноэлементное), но это полностью отличается от создания неудачного завода (если вы не можете полагаться на свои фабрики, чтобы иметь тупые конструкторы, что вы можете положиться?).
С точки зрения угла NInject, метод создания (будь то Фабрика или Поставщик) отделен от области видимости, поэтому я сомневаюсь, что будет способ управлять тем, что вы хотите сделать чисто (даже если Вы можете решить первые два вопроса). Я настоятельно рекомендую посмотреть на источник - он короткий и чистый, поэтому, если ответ есть, он сразу же появится. Загрузка займет у вас не более минуты - иди делай!
Наконец, хорошая статья по управлению сессиями NHibernate (В которой IIRC не предусмотрены какие-либо условия для сбоя при создании фабрики сеансов)
Теперь, чтобы на самом деле ответить на вопрос, независимо от того, является ли он плохим, - если это было возможно для неудачи при создании фабрики, и вы не могли настроить фабрику, чтобы не делать этого (сколько повторных попыток выглядит, как вы видели, для создания фабрик?), ответ заключается в том, что вы бы переместили логику повторных попыток (для создания Фабрики) в Провайдера или Метод, который отвечает за создание Сессий, которые затем могут повторить попытку, как вы считаете нужным.