Backgrounder worker as name states runs separate from main thread and does not hang the main thread so its a async operation and a foreground thread is runs parallel to main thread.in short we can run foreground thread and background worker at the same time together.
http://msdn.microsoft.com/en-us/library/h339syd0%28v=vs.110%29.aspx
Backgroundworker threads are dead once the application exists whereas foreground threads complete the action even if the application closes.