Comportamento diferente ao deletar objeto detached e objeto managed

Eu tenho o seguinte cenário

Uma Entidade Person qualquer:

@Entity
public class Person {

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Long id;

	private String name;

	public Person(String name) {
		this.name = name;
	}
}

E uma Entidade Team como uma lista de person:

@Entity
public class Team {

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Long id;

	private String name;

	@OneToMany
	@Cascade(CascadeType.ALL)
	private List<Person> people;

}

Coloquei “CascadeType.All” no meu atributo Person da classe Team, pois desejo que ao deletar um Team todas as pessoas daquele Team sejam deletadas
Então eu carrego o objeto Team e o deleto:

Team team = (Team) session.load(Team.class, 1L);
session.delete(team);

E tudo funciona corretamente.

Porém, o método Delete aceita objetos detached. Se passo um objeto Team detached sem carregar, ele deleta o objeto Team mas não deleta nenhum person relacionado.

session.delete(new Team(1L));

Este comportamento não deveria ser o msm para objetos DETACHED e MANAGED???