SwiftUI List and LazyVStack becomes jittering with large data

Based on the session video 'Loading and Displaying a Large Data Feed' I observed a performance problem when the number of displayed rows in a List or LazyVStack increases.

Instead of an earthquake app lets think of a messaging app. New messages are fetched from a server, injest in a background task into a core data persistent store and displayed with a SwiftUI LazyVStack embedded in a scrollview.

The rows in the list have different height. But this is not the problem because I wrote also a test app with a fixed content height for each row.

Scrolling through a list of data retrieved by a @FetchRequest works pretty well. I passed the fetched items using a @ObservedObject to the SwiftUI row views so that property faults are only handled for the displayed rows. Row views have also an identifier set so that SwiftUI can reuse them.

Everything works fine like in the earthquake example till to the point where the number of fetched items increases (approximate >2000). First when I scroll the list it is smooth but when I scroll more to the bottom items the jittering starts. I observed also that scrolling to the bottom is still smoother than when I scroll back to the begin of the list. Maybe because of the height calculation for the rows above. But this happens only when the number of items fetched from core data is very high. For only a few hundred items the earthquake approach works pretty well in this messaging app environment.

Note:I used also request.includesPropertyValues = false as recommended by someone in the internet but this could not fix the jittering with large core data fetch results. Also switching from LazyVStack to List was not a solution for the jitter.