Your application cannot talk to "DIMM 2, chip 3, 42nd byte". It needs the other parts of the system, including Linux, to assign a simple number(address) to every byte of memory. If you excluded 512 MB from Linux, it wouldn't even have an address. That means your application couldn't even talk about the memory, let alone use it.
There would be more problems; e.g. the hibernate function would not restore the memory when waking up. But that's all theoretical, since the memory wouldn't contain anything - without addresses, there's no way to write to memory.