I think this IFtpConnectionCheck should be scoped in FtpServerBuilderExtensionsForChecks.cs:
builder.Services.AddScoped<IFtpConnectionCheck, FtpConnectionIdleCheck>() not singelton
if this class is singelton for all connections will be the same idle time.