I little confused here. Do ArrayBuffer allocate a new memory region for it? If so, what would be the safe maximum Blob size to put on it?
That only depends on your system and there doesn't seems to be a limit.
According to the specification :
If the requested number of bytes could not be allocated an exception is raised.