It seems you work with the visual elements, i.e. GridViewRows in your solution and this approach has some flaws.
I should note that RadGridView is a virtualized control and as such, due to the UI Virtualization, if the row is not in the View port, then there will not be a GridviewRow realized for displaying the respective Item. When the virtualization of RadGridView is turned on (which is by default), its elements are created when they should be brought into view. You can take a look at this article for a reference on UI Virtualization
You can try applying a RowStyleSelector
instead. Still please keep in mind that RadGridView will work better in matters of performance and scrolling if all the rows have the default height.
Check out Telerik Analytics, the service which allows developers to discover app usage patterns, analyze user data, log exceptions, solve problems and profile application performance at run time. Watch the videos
and start improving your app based on facts, not hunches.