Issue 14204 fix data grid view excessive cpu+memory usage #14224
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #14204
Root Cause
The foreach loop over DataGridViewRowCollection uses an enumerator that calls this[index], which unshares (clones) each shared row. For 700k rows, this causes massive memory allocation and CPU usage.
Proposed changes
Customer Impact
Regression?
Risk
Screenshots
Before
Closing a form with 700k rows causes 5-10+ seconds of UI freeze and high memory spike due to row cloning.
After
Form closes near-instantly with minimal memory overhead.
Test methodology
Test environment(s)
Microsoft Reviewers: Open in CodeFlow