Ok, update...
It's definitely the channel that's causing the issue, and it occurs during the compile. I was able to narrow it down to two different builds, three minutes apart.. one works, the other locks up the Roku indefinitely (even after reboot), until a factory reset is done. The culprit appears to be, what I'm guessing is some sort of recursive loop that's triggered by including the same BRS file in a component that extends another component that already includes that BRS file. Removing the redundant include fixed the issue for me. Why it persists after reboot is beyond me...
For illustration purposes, in pseudo-xml/code...
BaseTask.xml
<?xml version="1.0" encoding="UTF-8"?>
<component name="BaseTask" extends="Task">
<script type="text/brightscript" uri="pkg:/components/utilities.brs" />
</component>
ExtendedTask.xml
<?xml version="1.0" encoding="UTF-8"?>
<component name="ExtendedTask" extends="BaseTask">
<!-- REDUNDANT INCLUDE -->
<script type="text/brightscript" uri="pkg:/components/utilities.brs" />
</component>
I don't know if this is restricted to Tasks, as it was in my case, or if it could even be triggered by the same file being included multiple times in the same component (i.e., duplicated <script> tag), but I've already lost a couple of hours trying to track this down, and I don't care to go through the whole factory reset thing yet again, so I'll let someone else test that...
😉UPDATE: Ok, my curiosity got the better of me. I can confirm that it happens with non-Task components as well. It does not, however, happen if the redundant <script> include is in the same file... only if it's in an extended component.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)