Have you tried using Adam Machanic's sp_whoisactive? There's an option to get the outer command to see if it really is within a proc. It could be the application is holding open a transaction instead of committing it. Try looking at DBCC OPENTRAN as well.

sleeping SPID blocking other transactions
If ~3.3v is connected to a GPIO set as output, would it damage anything?
