Это больше похоже на проблему проектирования потоков, чем на возможность реализации Spring Batch. Вы не можете запускать две задачи параллельно, когда одна задача зависит от другой. Параллельная работа означает, что каждый поток может работать независимо от других параллельных потоков.
Вам необходимо изменить дизайн своего потока, используя подпотоки. Поскольку C3 зависит от B3, вы, вероятно, могли бы разделить свои потоки на что-то вроде:
B1 -> B2
\
B3 -> B4
/ \
C1 -> C2 C3 -> C4
Технически возможно делать то, что вы хотите, не меняя определения потока (например, используя общий логический элемент между B3 и C3 изаставьте С3 подождать) но это уродливая работа вокруг проблемы проектирования потока.