Closing the loop on this; the flickering, frozen UI turned out to be because
loading images from a resource file was occurring in a user thread. It's unclear
why loading images should be an EDT process, and it seems undesirable
to me that such a CPU and IO intensive process should run there.
The hard crash attributed to loading images on demand turned out to be a
code generation bug (of yours) which I have filed a issue and test case.