The rebooting is caused, as far as I can see, by the iLiad running out of memory, after which the kernel starts killing processes.
Unfortunately there are no easy solutions.
Enabling swap space on your iLiad should help (
https://wiki.mobileread.com/wiki/Swap_on_iLiad), but will slow the viewer down.
Or you can grab the source code from the mobileread development hub and have a go at reducing the memory usage.
Alternatively you can edit the djvu.sh script in /home/intent and pass the maximum memory usage via command line options of the elate program.
This won't allow you to read the djvu file, but it will exit the djvu viewer instead of rebooting your iLiad.
I am curious as to what is going on, since the viewer should not cache more than a few pages. If you can read 20 pages, you should be able to read the entire document. Maybe the final few pages are pages with a lot of images on them?