**Summary**
After upgrading a host that is just a collection `Distributed` tables to 20.4.X and 20.5.2.7, we observe the new `MemoryTracking` setting increasing substantially during writes, leading to individual writes and reads yielding exceptions: ```Memory limit (total) exceeded: would use 28.28 GiB (attempt to allocate chunk of 4197840 bytes), maximum: 28.28```

System metrics show that no actual memory is being allocated to the same size.
<img width="993" alt="Screen Shot 2020-07-19 at 12 23 59 PM" src="https://user-images.githubusercontent.com/1189446/87883721-229e7280-c9be-11ea-851b-0e1511cc10bb.png">

Please let me know if there is any additional context, diagrams, or statements I should provide. I'm interested in knowing how to correlate the total `MemoryTracking` metric to anything else since system memory does not reflect the metric at all.

**Context**
This host has four different `Distributed` tables that are written to via the HTTP interface with `insert_distributed_sync=1` set.
The host itself has no local tables.

The hosts with the downstream local tables are all 20.5.2.7.

We have downgraded the `Distributed` host in question back to 20.3.9.70 in order to continue writing to the clusters.
{
        /**
          * Can be called multiple times, from different threads. Saturate the
          * the kill flag with OR.
          */
        if (kill)
            is_killed = true;
        is_cancelled = true;
        /*
         * The format parsers themselves are not being cancelled here, so we'll
         * have to wait until they process the current block. Given that the
         * chunk size is on the order of megabytes, this should't be too long.
         * We can't call IInputFormat->cancel here, because the parser object is
         * local to the parser thread, and we don't want to introduce any
         * synchronization between parser threads and the other threads to get
         * better performance. An ideal solution would be to add a callback to
         * IInputFormat that checks whether it was cancelled.
         */
        finishAndWait();
    }
    Block getHeader() const override
    {
        return header;
    }
protected:
    
    Block readImpl() override;
    const BlockMissingValues & getMissingValues() const override
    {