We have some weird issue with the WorkpageDefaultLifecycleListener that is meant to remove the buffered content via BufferedContentMgr.
I cannot reproduce locally but the creation of this WorkpageDefaultLifecycleListener throws a null pointer in the production environment.
You may access the central dispatcher by the static method Dispatcher.findSessionTopWorkpageDispatcher() - but this is the central one, not the one that is associated with a dialog being opened inside the workplace!
Extend your class CustomerExportPDFUI from WorkpageDispatchedPageBean, then you have to implement a constructor in which the right context is passed. The constructor is automatically used if this is the outest one (the one that is addressed when starting the dialog in the wrokplace). If its an inner object then you have to pass the dispatcher on your own.