create_graph=True vs create_graph=False

Are these two equivalent?

import torch, torch.nn as nn
loss_fn = nn.CrossEntropyLoss()
scores = torch.randn(1, 10,requires_grad=True)
y_a_i = torch.tensor([5])
lin = nn.Linear(10, 10)
set_loss = loss_fn(lin(scores), y_a_i) 
fast_parameters = list(lin.parameters())
grad = torch.autograd.grad(set_loss, fast_parameters, create_graph=True) 
grad = [g.detach() for g in grad]
import torch, torch.nn as nn
loss_fn = nn.CrossEntropyLoss()
scores = torch.randn(1, 10,requires_grad=True)
y_a_i = torch.tensor([5])
lin = nn.Linear(10, 10)
set_loss = loss_fn(lin(scores), y_a_i) 
fast_parameters = list(lin.parameters())
grad = torch.autograd.grad(set_loss, fast_parameters, create_graph=False) 

Well, in practical terms yes, but create_graph=True does a lot of work and allocate memory (that then goes out of scope) and stuff.