You could take this as an apology - first I was thinking 1e8 was a hex instead of float. Next I posted that even though it doesn't kill the roku on dim[1e8] - as soon as you begin setting values of that dim'd array it crashes.
So what I would think is the problem here, isn't really a problem - it's that the memory allocation of an array is dynamic (as it should be) depending on what you are storing in the array.
If anything, the 'bug' is that if you put imaginary useless test constructs into your code, it displays an out of memory error as it is obviously unable to process the command.
Such as dim [infinity] - Ha Ha, you got me, I'll display an out of memory error for that. It probably shouldn't display any error whatsoever on a dim statement until you try to use the created array - which would catch these types of impossibilities.
It would be more useful to troubleshoot/debug, etc, to figure out how much memory is available to the roku sandbox for a side-loaded application, and then determine how much a single character takes when assigned to an array - without that information, your actual usable limit for your construct could be 25mb, 5mb, 250mb, we're just guessing, and it could vary by roku model like the available temp storage - still not useful.