Have you every wondered why 16bit applications cannot run on 64bit?
I came along this simple answer here in MSDN.

The primary reason is that handles have 32 significant bits on 64-bit Windows. Therefore, handles cannot be truncated and passed to 16-bit applications without loss of data.

So Windows uses at least 32bits of handles to map an object for applications. Do you know other documented reasons?

Interestingly, there are some exceptions. Some 16bit installation programs are important enough to be run on Windows 64. And there is also a List of limitations in 64-Bit Windows.

BTW #1: Who is still running 16bit applications? This is just a question! I also have some old applications that are often very useful but there is no source available to recompile.

BTW #2: DosBox can run Windows 16Bit.