Best guess without diving much further, somewhere in the bowels of this NHibernate-Core monster:
/// <summary>
/// Instantiate a new <see cref="ISessionFactory" />, using the properties and mappings in this
/// configuration. The <see cref="ISessionFactory" /> will be immutable, so changes made to the
/// configuration after building the <see cref="ISessionFactory" /> will not affect it.
/// </summary>
/// <returns>An <see cref="ISessionFactory" /> instance.</returns>
public ISessionFactory BuildSessionFactory()
{
ConfigureProxyFactoryFactory();
SecondPassCompile();
Validate();
Environment.VerifyProperties(properties);
Settings settings = BuildSettings();
// Ok, don't need schemas anymore, so free them
Schemas = null;
return new SessionFactoryImpl(this, mapping, settings, GetInitializedEventListeners());
}