Я не верю, что существует какой-либо API, который даст вам истинный размер объекта, но его можно определить, измерив количество памяти, использованное до и после создания объекта; однако, это не совсем потокобезопасно.
Вы можете использовать System.Runtime.InteropServices.Marshal.SizeOf (), даже если это не даст вам точный размер, но даст вам точную точку сравнения, чтобы вы могли сказать что-то вроде: если размер объекта увеличивается на X%, затем удалите количество элементов Y.
Кроме того, вы можете попытаться сохранить промежуточный итог, но если элементы в коллекции являются редактируемыми, вам нужно будет убедиться, что каждое добавление, удаление и редактирование включены в расчет. У вас все еще остается проблема правильного измерения добавляемых и удаляемых элементов, и, как указано выше, я не верю, что есть API, который будет делать это точно.