When the ListView is pulled down, the ActivityIndicator will appear but it quickly hides as if the command has finished executing even though it's still running.
I've created a sample project to reproduce this problem https://github.com/plneto/iOS_PullToRefresh_Repro
In the sample project, the Refresh button and RefreshCommand from the ListView execute the same command and the button Enabled state can be used to check if the command is running.
When triggering the command using the button, the ActivityIndicator will stay visible as expected while it's executing and the button will be disabled. When triggering the same command by pulling down the ListView, the ActivityIndicator won't stay visible but the Refresh button will be disable while the command is running.
This issue doesn't occur on Android.
Thanks for the reproduction project to help us look into this. On a cursory glance it appears that it's acting as you described so it'll be worth looking into more closely.
Should be fixed on 2.3.5-pre1
It works in iOS but now Android has this problem after updating to Xamarin.forms 126.96.36.1996-pre.