Symptoms: all threads in BackgroundScheduledPool busy, lot of tasks in replication queue, none of the tasks is executing. 

![Screenshot from 2021-04-16 16-21-44_](https://user-images.githubusercontent.com/1549571/115193796-e767d600-a0ec-11eb-887c-5c9c2412e50c.png)

Related to #16895

Possible workarounds (poor options): increasing the background_schedule_pool_size to huge values, or restart server every time when that happens etc. - 

settings.max_threads,
            max_added_blocks.get(),
            query_info.merge_tree_data_select_cache.get());
        /
        size_t min_sum_marks = query_info.merge_tree_data_select_cache->sum_marks + 1;
        ProjectionCandidate * selected_candidate = nullptr;
        /
        for (auto & candidate : candidates)
        {
            if (candidate.desc->type == ProjectionDescription::Type::Aggregate)
            {
                selectBestProjection(
                    reader,
                    metadata_snapshot,
                    query_info,
                    analysis_result.required_columns,
                    candidate,
                    query_context,
                    max_added_blocks.get(),
                    settings,
                    parts,
                    selected_candidate,
                    min_sum_marks);
            }
        }
        /
        if (!selected_candidate)
        {
            for (auto & candidate : candidates)
            {