У меня на самом деле была попытка выяснить это несколько лет назад. Оказывается, это очень, очень сложное мероприятие - в наши дни вы даже не можете доверять ОС, поэтому работа в песочнице .net сделает практически невозможным определение того, что происходит на самом деле.
Вот лишь несколько простых ситуаций, которые вы можете принять во внимание, если решите продолжить.
CPU - вы можете определить текущее использование CPU, но как определить, был ли ваш конкретный экземпляр привязан к одному CPU? Как вы определяете, работаете ли вы в кластере или что могут делать другие ядра? Возможно, вы работаете на виртуальной машине с ограниченным ЦП или потоками - эти ограничения могут быть изменены на лету.
Память - что если вы работаете в виртуализированном экземпляре? Что если вдруг произойдет внешнее изменение для увеличения или уменьшения объема доступной памяти?