Any runnable class which declares anonymous classes inside its run() method will segfault when used, because the respective anonymous classes are not copied.
The only clear way to address this issue is to copy all classes whose declarations are in the same file as the as the Runnable class being copied. I'm not clear on how practical this is, though.