With respect to patched talkgroups, the following are (99.9999% of the time) patched together:
11-D11/12-D12
13-D13/61-HWY
22-D22/23-D23
32-D32/33-D33
51-D51/53-D53
54-D54/55-D55
So it would be perfectly normal to hear 54 and 55 Division calls on the same channel, for example.
To avoid the problem of hearing other TGs once the one you want has ended:
1) Don't use control channel only. Program in all the voice channels as well.
2) Set "End Code" to Detect.
3) Set the squelch control reasonably high (Mine is around 4 or 5).
4) Set the "status bit" to Ignore.
This will give you the best shot of hearing only the TGs you are interested in. Scanners have a bad habit of having false decodes - that is, tuning to a channel that doesn't exist, or tuning to a talkgroup that doesn't exist (or worse, both at the same time). By NOT using control channel only mode, you can eliminate the tuning to the wrong channel issue. Nothing can really be done about the false talkgroup.
Using End Code Detect will mean that the scanner is going to listen for a quick burst of data at the end of each voice comm which tells the radio to return to the control channel. By keeping the squelch high, this also ensures that should the scanner fail to hear the end code, it will "time out" and switch back - if it is too low, you might get stuck on a channel with noise. However, if the scanner doesn't catch the End Code, and the frequency is used again right away, you will hear those comms which aren't the ones you are interested in.
And finally, having Status Bit to Ignore means that the "status" of the talkgroup is ignored - that is, if it is patched, in emergency, multi-select, etc... Having it on "detect" means if the TG is ever patched, goes into emergency, etc...you won't hear it. This however CAN be good for TGs which are often encrypted, and will ensure you only hear when it is "in the clear". Unfortunately this is a system-wide option and not per-talkgroup (which it probably should be).