After kvetching a bit about Windows 8 Metro background tasks, Jared Bienz set me straight.
The right way to do this is to either use push notifications to update the tile, or a TileUpdateManager to have it poll for tile updates. In both cases the difference is that you’re not actually scheduling a background task – you’re just providing a way to get a tile notification, which is a bit of XML that describes how to change the tile.
Now, this isn’t ideal for me the programmer, since I need to set up an extra server, but it does scale better with lots of different apps and preserves battery life, etc. So it’s all good, and hopefully lots of Win 8 apps will take advantage of one of these two ways to get power-efficient live tiles that update!