Q:

What happens if I source a script as background process?

From the BASH pages:

When a script is run using source it runs within the existing shell,
  any variables created or modified by the script will remain available
  after the script completes. In contrast if the script is run just as
  filename, then a separate subshell (with a completely separate set of
  variables) would be spawned to run the script.

But what happens if I run
. myscript &

Does it run as a subshell in this case? What's the difference between . myscript & and ./myscript &?

A:

Yes - you can easily test this:
Source file:
echo "Source File"
echo "Source PID - $BASHPID"
MYVAR=someval

Execute file:
. source 

echo "Exec PID -$BASHPID"
echo $MYVAR
echo done

Output:
Source File
Source PID - 34893
Exec PID - 34893
someval
done

If you use the & in the . source of the execute file, the execution order is different, and so are the PIDs associated with the process, and you can see the MYVAR variable set in the source file is not printed:
Exec PID - 34931

done
Source File
Source PID - 34932

