It is because before going for next iteration the previous iteration encounters a blocking or delay statement i.e. #1 which makes the scheduled fork-join_none statement to execute with the current value of the j. As per LRM for Fork-Join_None :
The spawned processes do not start executing until the parent thread executes a blocking statement or terminates
Thanks