From the code sample and the error, it seems like the problem is the fake Tensor for which you do the forward in the update D side, then update the D network and re-use that fake variable in update G side.
The problem is that the D network update changed the weight of the conv inplace and so you cannot call backward anymore.