Intermittent Error "The type `` does not contain a method with signature ``"

how a method isn’t found in a attempt and in the next attempt the same method is found?

Here my configuration

Startup.cs

public class Startup
{
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }
    
    public void ConfigureServices(IServiceCollection services)
    {
        ...
        var settings = AppSettings.Global.Configure(services);
        services.AddHangfire(config => {
            var storage = new Hangfire.SqlServer.SqlServerStorageOptions { SchemaName = "HangFireWeb" };
            config.UseSqlServerStorage(settings.ConnectionString.DefaultConnection, storage);
        });
        ...
        services.AddSingleton<ICecomService, CecomService>();
        services.AddScoped<ITalaoService, TalaoService>();
        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
    }
    
    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        ...
        using (var scope = app.ApplicationServices.GetService<IServiceScopeFactory>().CreateScope())
        {
            var db = scope.ServiceProvider.GetRequiredService<ICecomService>();
            scope.ConfigureAuditoriaDbContext();
            scope.ConfigureCoiDbContext();
        }

        app.UseHangfireServer();
        app.UseHangfireDashboard("/hangfire", new DashboardOptions
        {
            Authorization = Enumerable.Empty<IDashboardAuthorizationFilter>()
        });
        ...
    }
}

My Services

ITalaoService.cs

public interface ITalaoService
{
    Task VerificarTalao(Guid talaoId, Guid jobId);
    Task NotificarCecom(Guid talaoId, Guid jobId);
    Task NovoAceite(Guid talaoId, Guid equipeId, Guid jobId);
    Task SuspenderTalao(Guid talaoId, Guid jobId);
    Task CriarAceite(Guid talaoId, Guid equipeId, Guid? jobId);
    Task EncerrarJobs(TalaoAcompanhamentoModel talao);
    Task VerificarTaloesSuspensos(ViaturaModel viatura);
}

ICecomService.cs

public interface ICecomService
{
    Task AtualizarViatura(ViaturaModel viatura);
    Task AtualizarTalao(TalaoAcompanhamentoModel talao);
    Task NotificarSugestao(Guid talaoId, Guid equipeId, Guid jobId);
    Task NotificarSuspensao(Guid talaoId, Guid jobId);
    Task NotificarAceiteCriado(Guid talaoId);
}

ITalaoService.cs

public class TalaoService : ITalaoService
{
    private readonly CoiDbContext _context;
    private readonly ICecomService _cecomService;

    public TalaoService(CoiDbContext context, AuditoriaDbContext audit, ICecomService cecomService)
    {
        context.ConfigAudit(audit);
        this._context = context;
        this._cecomService = cecomService;
    }

    private async Task GetTalao(Guid talaoId, Guid? jobId, Func<Domain.Models.Talao, Task> callback)
    {
        var job = default(Domain.Models.TalaoParaAceiteJob);
        if (jobId.HasValue)
        {
            job = await _context.TalaoParaAceiteJobs.FindAsync(jobId.Value);
            if (job == null)
                return;
        }

        var talao = await _context.Taloes.FirstOrDefaultAsync(x => x.TalaoId == talaoId && !x.EquipeId.HasValue);
        if (talao == null)
            return;

        await callback(talao);
        if (job != null)
        {
            _context.TalaoParaAceiteJobs.Remove(job);
        }
        await _context.SaveChangesAsync();
    }
    
    ...
    public async Task VerificarTalao(Guid talaoId, Guid jobId)
    {
        await this.GetTalao(talaoId, jobId, async (talao) => 
        {
            var emitTalao = talao != null && talao.DataCadastro.AddMinutes(1) <= DateTime.Now && talao.Status == Domain.Enums.StatusOcorrencia.Aberto;
            if (emitTalao)
            {
                talao.Status = Domain.Enums.StatusOcorrencia.AbertoPendente;
                await _cecomService.AtualizarTalao(await _context.Taloes.GetModel(talao.TalaoId));
            }
        });
    }
    ...
}

Registering the jobs

var jobVerificar = new Domain.Models.TalaoParaAceiteJob();
jobVerificar.TalaoParaAceiteJobId = RT.Comb.Provider.Sql.Create();
jobVerificar.TalaoId = talaoId;
jobVerificar.JobId = Hangfire.BackgroundJob.Schedule<ITalaoService>(service => service.VerificarTalao(talaoId, jobVerificar.TalaoParaAceiteJobId), TimeSpan.FromMinutes(1));

var jobNotificar = new Domain.Models.TalaoParaAceiteJob();
jobNotificar.TalaoParaAceiteJobId = RT.Comb.Provider.Sql.Create();
jobNotificar.TalaoId = talaoId;
jobNotificar.JobId = Hangfire.BackgroundJob.Schedule<ITalaoService>(service => service.NotificarCecom(talaoId, jobNotificar.TalaoParaAceiteJobId), TimeSpan.FromSeconds(30));