Just noted that writing an automated test that is multi-threaded is a good and very cost effective way of picking up race condition type bugs in an application – especially when there is dependancies between 2 system states.
Of course this will be picked up when doing performance testing, but the earlier a bug is found the better (and cheaper) right?