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. - 

if (partIsAssignedToBackgroundOperation(part))
        {
            if (throw_if_noop)
                throw Exception("Part " + part_name
                                + " is currently participating in a background operation (mutation/merge)"
                                + ", try again later", ErrorCodes::PART_IS_TEMPORARILY_LOCKED);
            return false;
        }
        if (partIsLastQuorumPart(part->info))
        {
            if (throw_if_noop)
                throw Exception("Part " + part_name + " is last inserted part with quorum in partition. Cannot drop",
                                ErrorCodes::NOT_IMPLEMENTED);
            return false;
        }
        if (partIsInsertingWithParallelQuorum(part->info))
        {
            if (throw_if_noop)
                throw Exception("Part " + part_name + " is inserting with parallel quorum. Cannot drop",
                                ErrorCodes::NOT_IMPLEMENTED);
            return false;
        }
        Coordination::Requests ops;
        getClearBlocksInPartitionOps(ops, *zookeeper, part_info.partition_id, part_info.min_block, part_info.max_block);
        size_t clear_block_ops_size = ops.size();
        
        auto drop_part_info = part->info;
        drop_part_info.level = MergeTreePartInfo::MAX_LEVEL;