Hi Robbie, thanks for the response.
After some heavy reorganisation of the code in this area we discovered the root cause, so I'll share. It's a combination of plugins, rather than something to do with backbone or our structure of Views.
Tab 1 contains a virtual terminal, using the jqueryTerminal plugin. Tab 2-3 contain CodeMirrors. When a user clicks a CodeMirror tab, the virtual terminal is 'paused' and disabled. However for some reason keydown events still 'leak' into the plugin, causing some rather bizarre behaviour. Basically, there's a method inside jqueryTerminal that chops up output line by line. When a CodeMirror is active, this code still gets run, but on an negative value string length... causing the attached event handler to loop forever (eating up all available memory). From the outside it looks like the View has crashed, but it's the plugin...
That was a rather painful one to resolve!
S.