HC-06 (BT module) becomes un-responsive after ~20 minutes
Sounds like a fault in the firmware of the HC-06 module. If you issue the "AT+VERSION" command, what version do you see running on your module? It might be worth contacting the vendor with the version you have and what you're seeing. They may be aware of the issue and could tell you how to either upgrade the firmware of your module or send you a new one.

Good luck, it seems unlikely you're doing something wrong.

In the meantime, and this is a hack, but you could power the module through a transistor or FET that the Arduino could control from one of its pins. Every 10 minutes (or however long you think it will be until a fault) it toggles the pins to power the HC-06 adapter on and off. :/ Not great but might at least keep it from failing and never recovering.