When using the UCP as a datasource I see up to 24 threads created with the prefix "UCP-worker-thread".
Is this a likely to be a configuration error I've made or a bug in UCP? (both ucp and ojdbc are version 220.127.116.11.0)
It means that this UCP created 24 threads; likely threads that deal with managing the connection pool. You assume there is some problem here, but I see none really. If you want more information about why these threads are created and how to tune this, I suggest you scout around the OJDBC manual you are likely to find on the oracle.com website.