unpredictability is part of the problem. Cumulative time without vehicle power may be a factor, age of the internal battery may be a factor, who knows but the person who designed it... I once worked on a radar system that used a keep alive battery on the main processor board. To change the battery you wrote the programming parameters specific to your installation(a lot of info) to a non volatile location, then replaced the battery, then you loaded the parameters back into working memory. But the basic program Operating System was in non volatile memory so the processor would reboot after the battery change. Why they didn’t make this an automatic process and skip the battery altogether is not clear...
You can access the programming with cat et software on the j1939 data bus if the processor is operational(OS running). This allows you to change parameters and view sensor data, but I don’t know if you can access or alter the basic OS. If it bricks itself and wipes the OS in the process of this failure, you might not be able to even access it, and it would probably be something cat specific to reload/force feed the basic OS... This is known as a bootstrap process where you send a specific set of commands in the blind to prep the processor and memory followed by the OS program data, all without any acknowledgement untill it gets rebooted and either runs the loaded software or it doesn’t...