Fix crash in DisposeAll

We need to copy this list as disposing items in it causes it to be modified.

This was technically broken before, but disposing resources wouldn't make them get removed from the list. It does now, so this is broken!

Refs #2375