If I understand correctly, in your case, you backpropagate in the graph corresponding to f2, with an initial gradient of 0.1 instead of 1. Since the gradient computation formulate for f2 is actually a multiplicative function of the output, you get 0.6 instead of 6. It is the output of f3 that is going to be a constant, not the one of f2.