VirtualWire or String causes arduino to hang

PaulS:
You appear to still have your LEDs connected to pins 9 and 10, which the VirtualWire class uses, unless you tell it to use other pins. Which you don't.

So, it's hardly surprising that as soon as you write to those pins VirtualWire quits working.

Nope, dc42 noted this a while back so I've changed to pins 3,5 and 6.

dc42:
What happens if you just comment out the analogWrite calls?

That works, it's up and running hand still works after five minutes of continous running. So it seems to be analogWrite that causes trouble.