Before adding a new adornment, check if an adornment already exists. Update your UpdateAdornments() in IntraTextAdornmentManager with an additional check
if (_activeAdornments.ContainsKey(snapshotSpan)) continue;