`addThreadLocalCallback` concurrent modification

Is there any reasonable case in which:

  1. Start callbacks (as added in a given thread in addThreadLocalCallback) are called in a different order than they’re added when no sampling is used?
  2. addThreadLocalCallback is called while callbacks are being iterated over and executed?

Additionally, is there any case in which not all thread-local callbacks are called?