Проблема, с которой вы сталкиваетесь, заключается в том, что отправляемый вами ответ все еще неполон. Даже если вы сбросите все, что находится в буферах, в браузер, браузер все равно должен дождаться окончания ответа или обработать то, что он получил до сих пор - отсюда и разница между браузерами.
Что еще хуже, вы можете ожидать того же поведения от некоторых концентраторов промежуточных узлов, брандмауэров и т. Д., Расположенных в Интернете между вашим сервером и браузером.
Суть в том, что если вы хотите убедиться, что браузер что-то делает с вашим потоком данных, вы должны заполнить его Response.End.
Другими словами, если вы хотите сначала отправить некоторые из ваших данных ответа и отложить отправку остальных, вам лучше разбить ответ на два, завершить первый и загрузить вторую часть отдельно