Таким образом, когда вы вносите изменение в список, оно отражается в кеше, потому что ссылка (адрес памяти списка) копируется в кеш, поэтому любые изменения будут фактически отражаться в кеше.
Чтобы избежать этого, просто поместите Clone()
вашего списка в кеш. (при условии, что UpdateCache()
является методом, который устанавливает кэш), вы можете сделать это так:
UpdateCache(list.Clone());