I think understanding the hierarchy of how software works would be helpful here. You're interacting with the software, Bitcoin Core. While you're experiencing either a GUI wallet and network stats or interacting with the bitcoin-cli, your OS is experiencing bitcoind, the bitcoin daemon
. It is--in the scope of this scenario--the fundamental piece of your bitcoin node or wallet.
Wikipedia introduces Daemons nicely:
a daemon (/ˈdiːmən/ or /ˈdeɪmən/)[1] is a computer program that runs
as a background process, rather than being under the direct control of
an interactive user
Spooky. In Unix systems specifically, it is a daemon if
the process is started from the command line or from a startup
script such as an init script
The init script in this case is the bitcoin.conf file. If it initiates the daemon, it is doing it's thing running in the background. All the core processes that are required to run the underlying code and for a GUI and command line to be used on top of that are active, silently.
Any interaction that you have with the software requires the daemon to be running. If it's not already, it will start it. Once running, you can change the bitcoin.conf file or variables dynamically through the command line as you see fit during your session.
Then when you're done, whatever state the bitcoin.conf file is in when the computer or daemon begin will determine it's behavior.
If you want bitcoin running in the background always, ensure that the config file runs the daemon on startup or that you start it yourself if it's not running. It is redundant to do both.