Код оценит
m["a"]
, который даст указатель obj, затем obj будет помещен в новый стек для goroutine, а затем goroutine будет запущен с этим стеком, а затем obj будет удален с карты в исходной goroutine. В этот момент новый стек подпрограмм будет иметь указатель на obj, и поэтому по этой причине obj не будет получен до тех пор, пока 2-я программа не завершит выполнение.