Саму службу можно добавить в набор служб с помощью общего расширения.
services.AddSingleton<TimeoutPolicyHolder>();
Или одной из доступных перегрузок.
Контейнер позаботится об инициализации службы иВнедрение любых зависимостей.
Если вы хотите создать экземпляр вручную, вы можете использовать фабричный делегат
services.TryAddSingleton<TimeoutPolicyHolder>(sp =>
new TimeoutPolicyHolder(sp.GetService<Dependency1>(),...)
);
Он будет иметь доступ к поставщику услуг при вызове, так что любые зависимости, которые необходиморешаться можно.