У меня почти такая же конфигурация, как у вас, и моя функция Initialize завершается менее чем за секунду. Одно из различий, которое я вижу между моей конфигурацией и вашей, заключается в следующем как часть моей свободной конфигурации:
.Register(Assembly.Load("Assembly.Where.External.Internal.Attributes.Live")
.ValidationDefinitions())
Я не уверен, что NHV делает по умолчанию, если вы не укажете это, но оно того стоит.
Еще одна вещь, которую вы могли бы попробовать, - настроить log4net, регистрирующуюся в вашем app.config для NHV, и это может помочь вам увидеть, где тратится время. Я не уверен, насколько глубокой является регистрация, но она может быть полезна.
Если ничего не помогает, вы можете загрузить исходный код и отладить его.
Edit:
Ниже приведено то, что я использую для записи журнала NHV в отдельный файл.
<logger name="NHibernate.Validator" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="WhateverAppenderYouWant"/>
</logger>