Asking about RAM is wrong, what counts is address space. If your OS is using virtual memory (which is most likely the case), then the mapping of address space to RAM is arbitrary and can change at any time, so address space counts.
The address space assigned to a process is (almost) free and can be huge; how much of it is used is what actually costs. So in your case the OS should have no problem increasing your address space by 100 MB and assigning that address space to your app. However, the OS may have a limit on how much used address space you have, and if your 100 MB exceeds that, then the request can be refused even if there is a free block of 100 MB in the processes address space.
(And you may run in trouble if you allocated 100 MB, allocated 100 MB and shrink the first block to 1KB, allocate 100 MB and shrink the second block to 1KB etc. where your "huge" address space might not be huge enough, depending on processor and OS).