Sorry, I am a bit confused with your namings. Could you define properly what you mean by updated buffer and real bufferand the buffer value is not in the computation graph.
Also when you use batchnorm in train mode, the running_mean and running_var are not used, only updated to be used in .eval() mode.