Всякий раз, когда у меня возникала такая проблема, я всегда решал придумать другой подход к решению проблемы.
В этом случае, если есть какой-то способ, которым вы можете объединить вызовы и просто сделать один вызов веб-службы, тогда это было бы наилучшим вариантом, поскольку у вас был бы только один прием в оба конца вместо 1000 или чего-то еще.
Другими словами, можете ли вы перебрать 1000 ячеек и создать (довольно большой) запрос для отправки в веб-сервис и получения всей информации за один раз? Затем распакуйте все, когда он вернется.
Если это ваш собственный веб-сервис (который, я надеюсь, так как вы сказали наш веб-сервис), то вы сможете изменить его, чтобы сделать это. Если вы вызываете внешний веб-сервис без пакетной функциональности, то, боюсь, я не уверен, как лучше к нему подойти, кроме как запускать множество асинхронных пользовательских функций в отдельных потоках.