Internal race condition with VideoClipTrackItem::getComponentChain?

,

I’m looking at what a MOGRT exposes ( in the sample below after adding it to the timeline) and am I seeing very odd behavior.
At first I though I was missing an await somewhere, causing the seemingly race condition but I don’t see what I messed up (if you do please point out where ).

Here is what I use to troubleshoot (minimal code for clarity)

const ppro = require("premierepro");
// [... snip ...]
log("====================")
const proj = await ppro.Project.getActiveProject()
const seq = await proj.getActiveSequence()
const tt = ppro.TickTime.createWithSeconds(5)
const seqEdit = await ppro.SequenceEditor.getEditor(seq)
let videotrackColl  = null
proj.lockedAccess( () => {
  videotrackColl = seqEdit.insertMogrtFromPath("C:\\Users\\marcc\\AppData\\Roaming\\Adobe\\UXP\\PluginsStorage\\PPROBETA\\26\\Developer\\Test-pdmzcd\\PluginData\\Mogrt_Sample_1.mogrt", tt, 2, 2)
})
await videotrackColl[0].getName()
for(let item of videotrackColl) {
  log(await item.getName())
  const componentChain = await item.getComponentChain()
  let count = await componentChain.getComponentCount()
  log("1 -> " + count)
  count = await componentChain.getComponentCount()
  log("2 -> " + count)
  for(let i = 0; i < count; i++) {
    const component = await componentChain.getComponentAtIndex(i)
    const name = await component.getDisplayName()
    log(name)
  }
}

As one would expect, the result is the same for “1 → xyz“ and “ 2→ xyz“ log entries:

However if I put a breakpoint in between the 2 logs (then execute right away once the breakpoint is hit), the result is different.
Note that the second one is correct, this mogrt should report 5 components, “text” and “Shape” never show up before)

What did I mess up here ?
Or is it a bug (previously known or not) ?

Thx !