We recently had a bug which was difficult to pin down. Difficult because although it manifested itself in our testing environment and we just couldn't reproduce it in development despite the codebase and data being the same. Turns out that as the testing environment uses the same mach-II setting as production and because listeners etc. are cached, the bug was down to something being held in the listener which basically shouldn’t have been. Once we enabled the production mode in on our development environment we were able to reproduce it. To be honest this should have been picked up in a code review. But the moral of the story is, it is worth testing locally in production mode as well.