То есть при переинициализации/создании нового объекта ссылка останется на старый объект и не будет копироваться или изменятся?
"delegate" хранит просто адресс в памяти на объект
при delegate = B()
ты говоришь:
"система, создай мне объект типа B и дай мне адресс где он лежит"
т.е. сам литерал "delegate" это не объект, а лишь ссылка