Here is it explained. By definition, a 32bit processor uses 32bits to refer to the location of each byte of memory. 2^32 = 4.2 billion, which means a memory address that's 32bits long can only refer to 4.2 billion unique locations (i.e. 4GB).
Hope that helps! Why not go for a 64bit OS?