> Is it safe to assume this code won't produce any race conditions or undefined > behavior?
The code has the same problem that OP has. add can potentially reallocate, so your object graph will end up having seqs allocated on different threads. The code will likely work, if you preallocate seqs on the main thread, and fill them with []= instead of add.
