Я думаю, что если бы писал это приложение, я бы скачал информацию о погоде, сохранил бы ее локально в файле db или xml и прочитал из нее.
Погода не меняет так сильно, что вам нужно ежеминутное обновление, если вы не являетесь метеорологическим каналом или чем-то еще.
В качестве альтернативы вы можете написать это в виде потока и сделать так, чтобы он сообщал о завершении загрузки. VS 2010 делает этот кусок пирога кстати.
Таким образом, чтобы решить эту проблему, можно дать вашему коду возможность отменить запрос, и для этого вы не сможете запустить это как однопоточное приложение. Вам понадобится возможность запустить запрос в потоке и отменить его в другом запросе.
Столкнувшись с тем, что я буду размещать его локально и запускать процесс, скажем, каждый час, чтобы обновить данные из RSS-канала.