тут дергается этот метод просто
Могу предложить решение в виде пакета Telegram.Bot.Extensions.Polling
Вместо подписки на события и метода StartReceiving(), получаешь метод TelegramBotClient.ReceiveAsync(IUpdateHandler, CancellationToken)
T - класс реализующий IUpdateHandler
Это можно засунуть в hosted service (а именно в BackgroundService), там будет async Task полноценный, но так как hosted service & T это singleton сервисы то придётся получать из конструктора Т тип IServiceProvider и вручную создавать IServiceScope и вытягивать оттуда сервисы для работы с бд
Класс типа T можно зарегистрировать как singleton и внедрить в hosted service
using (var scope = _serviceProvider.Services.CreateScope())
{
// По выходу из этого using все scoped сервисы будут диспознуты, ты сам этим управляешь
var dbContext = scope.ServiceProvider.GetRequiredService<MyDbContext>();
}