GetAppList should only retry FetchAppListException exceptions, otherwise fetch exceptions can be retried by a multiple of 10 in by the outer retry loop. e.g. if Porter retries 5 times (by default) then the total tries will be 50 since the outer loop does not currently distinguish between exception types.