Good news: CL 7110745 is working correctly (all 31 bots passed). The issue is that V8's TerminateExecution() can only interrupt JavaScript at yield points, and the current sitegeist wrapper doesn't create them.
When you call chrome.userScripts.terminate(), it invokes v8::Isolate::TerminateExecution(). However, this only works when JavaScript yields control back to the event loop.