**Describe the bug**

Since we upgraded to 20.10.3.30, one of our clickhouse cluster takes much more time to start. (Up to 50 minutes, and before it took ~3 minutes)
The log file is filled with
>  <Debug> DiskLocal: Reserving 1.00 MiB on disk `default`, having unreserved 16.90 TiB

Additionally, the memory consumption increases, linearly, a lot (up to arround 230 G for us) and then drop back to normal values once clickhouse finished starting up. During that loading phase, a single CPU core is used at 100%.
If that memory is not available for the machine, clickhouse gets OOMed by the kernel.


**How to reproduce**
* Issue appeared after we upgraded to ClickHouse server version 20.10.3.30

* How could I find wich of our tables may be responsible for that ?


**Expected behavior**
A fast startup :)

{
    std::unique_lock lock(write_mutex);
    MergeTreeData::MutableDataPartsVector parts;
    auto in = disk->readFile(path);
    NativeReader block_in(*in, 0);
    NameSet dropped_parts;
    while (!in->eof())
    {
        MergeTreeData::MutableDataPartPtr part;
        DataPartStorageBuilderPtr data_part_storage_builder;
        UInt8 version;
        String part_name;
        Block block;
        ActionType action_type;
        try
        {
            ActionMetadata metadata;
            readIntBinary(version, *in);
            if (version > 0)
            {
                metadata.read(*in);
            }
            readIntBinary(action_type, *in);
            readStringBinary(part_name, *in);
            if (action_type == ActionType::DROP_PART)
            {
                dropped_parts.insert(part_name);
            }