Код, который у вас там выполняется, запускается один раз - во время регистрации создается один объект CustomerEntities, и этот экземпляр используется в качестве параметра для всех объектов GenericRepository, разрешенных позже.
Если вам нужен отдельный экземпляр CustomerEntitiesдля каждого экземпляра GenericRepository это довольно просто - достаточно просто поднять контейнер.При регистрации сделайте следующее:
IOC.Container.RegisterType<IRepository, GenericRepository>("Customers",
new InjectionConstructor(typeof(CustomerEntities)));
Это сообщит контейнеру "При разрешении IRepository создайте экземпляр GenericRepository. Вызовите конструктор, который принимает один параметр CustomerEntities. Разрешите этот параметр через контейнер.
Это должно сработать. Если вам нужно выполнить специальную настройку в контейнере для разрешения CustomerEntities, просто сделайте это с помощью отдельного вызова RegisterType.
Второй пример, который вы показали, это устаревший API изUnity 1.0. Не используйте его, он не делает ничего больше, чем вы можете сделать с RegisterType сейчас.