I figured it out. Well, I stopped the error and have a theory as to why. My custom component uses Reader Extensions. I would get an error about not finding the classes unless I included the jar in the component.xml classpath. That would seem how most of the custom component samples I find do it. I found some blog entires referring to using <import-packages> instead of <classpath> for other errors. So I removed all the jars and the classpath. I added this:
<import-packages>
<package version="1.0">org.apache.commons.codec</package>
<package version="1.0">org.apache.commons.codec.binary</package>
<package version="1.0">com.adobe.uuid</package>
<package version="1.0">com.adobe.livecycle.readerextensions.client</package>
</import-packages>
Problem solved and my render got even faster. By including the Reader Extension jars, that created those classes in the component's classloader. That in turn required me to add the standard client jar containing Document. My theory is the the Document object in the component was garbage collected while a copy in the main classloader was still using a copy of it. Both pointed to the same GDS file. I also theorize that the GDS file gets deleted in the finalize of Document.