I think we have the exact same problem.
As far as I could interpret the stacktrace, the problem occurs when LC is trying to deserialize the variables of an long-lived process. So do you have a long-lived or a short-lived process?
We've put the part with the custom object into an short-lived subprocess to work around that problem.
But the core problem still exists - How can you make the LC classloader to find your custom object?