I have recently encountered this issue on version 16.3.0.21 however I eventually figured out that it was something wrong on my end after a few days of research.
My team and I utilize Prism for navigation. When navigating from PageA to PageB, if you pass a List of objects from PageA to the next intending to display that List of objects on PageB, you would pass it as a NavigationParameter.
On PageB, you can retrieve that value from the methods defined in Prism.Navigation.INavigationAware. If you directly set the retrieved value back into the variable that your ListView is bound to and then navigate away from that page, it will cause an Object Disposed Exception in the ExtendedScrollViewRenderer in Android.
I realized that I should be using the Add() function instead of directly setting the retrieved value into the bound variable because that causes a PropertyChanged event. When using the Add() function, you do not change the property, only its contents so it will instead call the CollectionChanged event.
I'm assuming SfListView's implementation causes a scroll to happen when it detects a PropertyChanged event and a CollectionChanged event does not. And when you navigate away from the page while a scroll is happening you get this crash, the issue seems to be an issue with Xamarin Forms itself and there are a few issues noted on their GitHub.
Have a look at the attached example for a visual of what I've explained here. Hope this helps everyone else!
Attachment:
Example_99c6d23b.zip