Apparently, the hidden problem is that the company laptops typically have not enough memory, but the company desktops do. To address this specific problem, compare memory used against memory installed: EnumProcesses() and GetProcessMemoryInfo tells you the first; GetPhysicallyInstalledSystemMemory() tells you the second.
If they're too close, you can inform the user that there are 73 running processes using 2.5 GB, but only 2GB RAM is present. This is a valid reason for your program not to start.