I have the same problem. Every time I stop Calibre a main process is left still running. Running debug logs this and never stops. I have tested in different computers but allways get the same. This started with version 9.
Spoiler:
C:\Program Files\Calibre2>calibre-debug -g
calibre 9.5 embedded-python: True
Windows-10-10.0.19045-SP0 Windows ('64bit', 'WindowsPE')
('Windows', '10', '10.0.19045')
Python 3.14.2
Windows: ('10', '10.0.19045', 'SP0', 'Multiprocessor Free')
Interface language: sv
EXE path: C:\Program Files\Calibre2\calibre-debug.exe
Registering with default programs...
QPA platform: windows
devicePixelRatio: 2.5
logicalDpi: 96.0 x 96.0
physicalDpi: 113.41395348837209 x 113.12164948453608
ApplicationPaletteChange event ignored
Using calibre Qt style: True
Registered with default programs in 1.8 seconds
[0.00] Starting up...
[0.00] Showing splash screen...
[1.22] splash screen shown
[1.23] Initializing db...
[1.58] db initialized
[1.58] Constructing main UI...
[2.70] GUI main window shown
[2.83] main UI initialized...
[2.83] Hiding splash screen
[2.83] splash screen hidden
[2.83] Started up in 2.83 seconds with 1300 books
[12.62] Shutdown starting...
[12.69] Shutdown message shown...
[12.69] Grid view shutdown
[12.71] Bookshelf view shutdown
[12.76] Actions shutdown
[12.96] Various services shutdown
[12.96] Metadata backup shutdown
[12.97] Current database closed
[12.99] Windows hidden
[13.04] Waiting for overseers, mdns, and live to shutdown
[13.04] Waiting for device manager to shutdown
[13.06] Shutdown complete in 0.44, quitting...
[13.06] Thread still alive: <Thread(PoolWorkerGetStdout, started daemon 20064)>
[13.07] Application event loop quit