I also couldn’t guess at the reason for this. Perhaps you could try enabling Direct2D debug output as described in this post and see whether this provides any helpful information.
The best way to answer this is with a timing profiler. That way, you can determine exactly how much time is spent creating each resource.
It’d be good to check that you’re not attempting to do any drawing directly in parameter change callbacks. If you have very rapid parameter changes, you could end up doing a lot of unnecessary drawing unless you throttle the updates down to the screen refresh rate. Additionally, painting won’t be realtime-safe, so painting directly in parameter callbacks may cause audio glitches.
