Does it happen when you update just 1 exchange rate, or when you update multiple? If it's multiple have you tried using just a single instance of WriteableBitmap which you reuse each time? This would reduce the memory footprint if it's being called multiple times, just make sure it's thread safe.
I'll have a look at it later today, only have enough time to quickly browse the code just now.
vaughanknight have you checked the code noticed anything unusual ??