You do not need to background them if they background themselves,
or if you need them to exit normally before continuing to the next step.
However, If any of these scripts do not detach, or pause waiting for input,
.xsession will not finish and you will be confused because something is not going
to be running correctly.
If you have a complex startup, you can enclose the script in parenthesis and background it.
EX:
(
step 1
step 2
step 3
) &
This will run the script in background, but ensure that step 3 does not run until steps 1 and 2 have
completed.