public void CleanupItemInstances() { if (DbItems.ContainsKey(this)) { var itemInstancesToDelete = DbItems[this].Where(dbi => dbi.Owner == null); foreach (var itm in itemInstancesToDelete) { if (itm.DBInventory == null) { ItemGenerator.DeleteFromDB(itm); } } DbItems.Remove(this); } }