When it comes to detection of malware ("malicious software") there are many factors which come into play and even a small difference between these factors can result in a malicious or clean identification verdict depending on the Anti-Virus engine being tested against the target sample/s.
A virus is a type of malware, not all threats are viruses; that being said, viruses are definitely not as common in the wild as they were around 6 years ago and most vendors are moving to identification methods learning towards the threats which are really in the wild, which means they do a clean-up of their static detection methods (e.g. checksum hash databases, generic HEX signatures) and also for their dynamic behavioral detection methods - of course this does not mean that they won't detect viruses because this is not true at all, however due to how malware is always evolving and the vendors trying to keep updated with the newest threats, they need to spend more resources focusing on the real threats out in the wild, therefore some samples (e.g. of a Virus type) which were detected a few years ago may not be detected now.
Disabling Task Manager in itself is not going to cause a malware detection in most cases since it's only a suspicious trace which is commonly automated by malware which will attempt to hijack the system (to prevent the user from terminating the processes, etc.), however if the sample has real infection capabilities (e.g. PE infection to cause the virus code to be executed when the affected program/s are executed at some point during execution flow) then it will probably detect the sample assuming no packing mechanisms have been applied.
I need to point out that you are testing with VirusTotal and the detection's present on VirusTotal are not entirely accurate since the vendors may have differences between the engine in the Home/Enterprise products and the one they allow to be used on VirusTotal - this means that the detection's on VirusTotal may be more aggressive or less aggressive, you'll need to test the samples against the individual security products to get a more accurate verdict on it's detection for the samples.
When you are performing on-demand scanning (also done when using VirusTotal since it will use the static engine to scan the samples in most cases), you are only testing the static side of detection mechanisms which will utilize checksum hash detection (e.g. the databases of known threats they are already aware of and have processed), and the generic detection methods (part of the static heuristics - this can include a scoring system working towards scanning the Strings and PE Imports of the sample, alongside detection of code patterns via HEX (which is based on the bytes within the PE)).
If you are performing proper dynamic testing with a security product then the detection's can vary since if it supports proper dynamic monitoring protection it may be able to single out specific programs as being malicious based on it's behavior (dependent on the API calls for example).
We cannot know for sure why the security products do not detect one or the other properly unless we pick each part of the PE away to detect what makes the product trigger and what makes it shiver quietly... And that is a very hard job and may not even give a good result which is helpful at the end anyway. However, like I said, there are many factors that come into play (file size, code signing authentication, then the static scanning, etc.).
Anyway, I am not sure if it's even part of the rules here to be going around making malware and then asking for any sort of help (even though you are asking about why the samples are not detected by many vendors); I am assuming you are only doing this for educational testing purposes?
Hope this helped and stay safe,
Wave.
