It’s not correct to say it was “really 16-bit”, no, but as Unauthorized Windows 95[1] eloquently demonstrates, neither was Windows 3.1 or 3.11, especially with Win32s, and Windows 95 was much more of a direct descendant of that environment that the marketing implied.
And on a more personal note, reading the descriptions of the mixed 16/32-bit architecture always makes me feel conflicted.
On one hand, the technical achievement is somewhere between genius and madness and I’m not sure on which side—not only did they ship a hypervisor in a consumer OS in 1987 (as “Windows/386”), they also flipped a live MS-DOS with an unknown complement of drivers and binary patches from running on live hardware to running inside a(n admittedly unsafe) VM, then proceeded to use those drivers and respect the patches including in applications written for Windows and not MS-DOS. I don’t think I have the sort of arrogance it takes to even think of attempting such acrobatics.
On the other hand, I was there, I grew up on computers that ran Windows 95 and 98, and I remember just how much better Windows 2000 was, how much more comfortable it was to not worry about the system crashing on you every half an hour. Perhaps 95 was a magnificent technical achievement, but it certainly didn’t feel like one to the user. And thus I continue to feel conflicted.
There’s also the question of why, exactly, was NT too heavy to run on contemporary consumer machines. You could say it was bloated, but so was Windows 95: the multiple 16/32-bit mode transitions it took to write to a file certainly weren’t free; and don’t get me started[2] about shipping a COM-based shell, realizing it was too heavy for the minimum RAM requirement, and solving that by shipping a second, stripped-down copy of COM then live-swapping the real one in its place as soon as the fake one became insufficient.
[1] https://www.os2museum.com/wp/book-review-unauthorized-window...
[2] https://devblogs.microsoft.com/oldnewthing/20040705-00/?p=38...
I've always seen Windows 9x as the Win32(s) subsystem running on top of a VM-manager/DOS-Kernel, what it basically is.
Win95 OSR2 and Windows 98 Second Edition were actually pretty reliable, unlike early 95, but the first person I knew to own a CD burner called NT his 100-megabyte CD burning software, because 95 and 98 just weren't stable enough (and blanks still expensive enough to care) at I/O.