Another curios one. Placing a ui.messageBox() call into the onOPFound callback of an opFindDAT will result in endless loop. I suppose the async-nature of messageBox() destroys the loop of the callback or something.
How to recreate: Create an opFindDAT and place the following line:
ui.messageBox( "This is a trap", "You will not be able to close this.")