Lets say I open vlc or gimp on startup, but those commands don't return until the program closes. Does it just let a bash interpreter run indefinitely until they close or does it run and immediately kill the process unless I nohup or something? What's the appropriate way to startup these applications?
The .profile is read when bash starts. Starting another program from the shell does nothing to the .profile file.
Have a look at this: Difference between .bashrc and .bash_profile