I don’t think there is a strong reason here. Historically, it used to have the exact same API as Tensors. But now the Tensor is much more complex so that does not apply anymore.
You could use the .apply() 1 method on network C just after creating it with a function that sets all parameters to not require grad. Or loop through it’s parameters and set it by hand.