Just for the sake of checking out the Garage Pro app I installed it this morning. I did not purchase any subscription(s) as I have no need for them.
I ran the app and connected to a 2008 PCM and a random TCCM wired up at my kitchen test location (2 drawers of a 6 drawer chest).
I can confirm that the app has the ability to reset an ELM327 type device during code reads, switching from ISO 15765-4 CANBUS to the SAE J1850VPW Class II serial data as needed.
Before reading the TCCM codes the app attempted to connect to a PCM at node $10 on the serial data bus. There was no PCM there but the app tried several methods of connecting there anyway. This is common with these apps, they try all manner of things to find a connection.
BTW, these 2008 and 2009 PCM do participate on the serial data bus in addition to the CANBUS. They appear as node $11 there and trouble codes can also be manually read from there but I have not yet compared the results returned across the 2 networks.
The app then retrieved codes from the PCM using CANBUS and then switched to Class II Serial Data to handle the TCCM.
So we know the app will indeed retrieve codes across both networks on these 2008 and 2009 GMT360/370.
The app will present a listing of "Modules Available" but this is NOT taken from the vehicle. It is simply what the app believes MAY be present in the current vehicle, likely based on some master list the app contains.
Selecting all modules causes the app to search for a connection to modules that are not present in the vehicle.
This will add a good deal of wasted time to the scan.
It can be seen that the app presents 5 or 6 codes without purchase of any subscription. If one scans only the TCCM (4WD) thats all anyone really needs for the most part. The code descriptions can be looked up in Service Information(s) available free at Charm.li
Edit: I want to do a followup test with regards to clearing codes. I wish to see that when clearing codes does the app clear codes ONLY for the module selected. This is highly desireable as there is no reason at all to clear your engine and emissions related codes when working on your 4WD system. When working with codes manually from a serial terminal one can clear codes from a single module such as a TCCM or EBCM and not affect any other system at all. So your emissions related systems remain ready for state/local tests as required.