That'd be good, if ESN Sonar ONLY runs when you're playing BF3.
Did you check and see if it is always running in the Services section?
Here's what I did:
-ESN Sonar was running, and I don't think it had an exit option on the system tray icon
-I opened the Remove Programs section of the control panel and uninstalled ESN Sonar
-Checked to verify it was no longer in the system tray or in the process list
-Ran Origin, clicked the BF3 beta icon to load the Battlelog
-Battlelog had an update, I installed it
-Found a server, launched the game, played for about 5 minutes
-Exited the game and looked for ESN Sonar, it was not in the system tray or list of running processes
-Checked the Remove Programs section of the control panel, and ESN Sonar was there again
-Rebooted my computer and then checked the system tray and running processes again, and did not see ESN Sonar
So I'm thinking it may run when you join a party on Battlelog. That's the one thing I can think of that I did last time I ran BF3 before today, which I didn't do today. When I initially discovered ESN Sonar in my system tray, I thought I had recently rebooted my computer, so I just assumed it had run on startup, but I think that was incorrect.
ESN Sonar could have been reinstalled because I updated the game. I should probably remove it again and run the game to see if it comes back again. To keep it off my PC, the answer might be to remove it every time the game has an update. Having it installed wouldn't bother me that much, but I'm assuming if it's not installed it can't run with the game, and I won't have to remember to close it every time I stop playing.