There will be one context creation call per worker thread and they are all created prior to starting the work. The ContextCreator should return the context index (which is usually just the WorkerIndex but, for example, it can also be used to generate a single context for use by all workers, assuming the context has appropriate locks in place.)