Hmm. Usually this kind of problem is due to a faulty BIOS, but what's odd is that Lenovo BIOSes typically don't have faults in that particular area (only Dell of the major manufacturers ship a lot of machines with BIOSes that don't report memory sizes on the original BIOS APIs accurately).
The source of these problems normally arise because the entire PXE boot process has to load down an operating system to the machine off the network to boot it, and so to hold that operating system image the first stage PXE loader loads a disk emulator (typically replacing floppy drive A) and then loads the disk image to boot from into the system's extended memory starting at 1Mb.
Then, once it's loaded it tries to boot the emulated disk sitting in RAM. Which since it's MS-DOS, will then load an XMS driver to get access to the memory above 1Mb for itself.
But that memory is being used by the disk being used to boot the operating system... so, there has to be a hand-over.
The way this hand-over typically works is that the PXE shim's disk emulator detects when the XMS driver has loaded, and when it does this immediately issues an XMS memory allocation call to cover the amount of memory used for the PXE-boot disk image.
What happens next depends on the interaction of the XMS driver and the BIOS.
A common problem is that (for instance) the PC-DOS version of HIMEM.SYS calls a set of BIOS APIs that are capable of reporting only up to 64Mb of memory; however, some manufacturers have faulty implementations of this API that are hardwired to only report 16Mb of installed memory!
And since the boot disk image can be taking up most of that, well, there just isn't enough left according to the XMS driver and things start to go wrong. Exactly how they go wrong is different depending on how bad the situation is.
If the problem you are experiencing is like this one (which is the most common) then to resolve it you have to find a version of HIMEM.SYS that calls different BIOS APIs to find how much memory is installed. If your PXE boot environment is using PC-DOS, then a good choice to replace it with is one of the ones
used in FreeDOS - those tend to use the newer ACPI BIOS APIs to determine the amount of installed memory and so should be able to make things work, and they should be able to be dropped into a PC-DOS environment just fine.
The version of HIMEM.SYS that comes with the MS-DOS inside Windows 98 or Windows ME also support the ACPI BIOS APIs, but that's hard to get hold of legally and I believe it won't actually load unless the OS you are booting is also MS-DOS.