Stacks are image windows that contain multiple images, or slices. You can picture the images in your computer's memory as strung one after the other in one long stream of data. Stacks containing large images, large numbers of slices, or both can occupy a lot of your computer's memory.
Not only does ImageJ have to keep track of the image data, but it maintains an invisible chunk of memory the same size as each open image called the Undo Buffer. This memory holds the image data from just before the current process so you can choose Edit > Undo and get back to where you were in the previous step. (You can only go back one step with Undo. If you need to go back any farther, the only option is to close the image without saving and re-open it, or choose File > Revert.) These are some of the reasons why it's good to have lots of memory (RAM - chips that is, not drives) in your computer.
Remember that your computer needs memory for lots of other things (like the operating system), so be realistic about your expectations. Unlike most applications you use, ImageJ doesn't just take whatever memory it needs to work it sets aside memory space when ImageJ launches. You can change this amount, up to a maximum of 1700MB (1.7GB), if available. (If you need more, install and use the 64-bit version of ImageJ.) The default memory allocated for ImageJ is usually around 400 640MB, which should be plenty for most uses. Just remember that you have to TELL ImageJ to use more memory adding more RAM alone won't make any difference!
Here are some practices that can help you make the most of ImageJ within the memory limits of your computer:
On a Mac, choose About This Mac in the Apple menu.