This is normal behaviour, as I understand it.
When you load the page post-new.php
, you run this function:
$post = get_default_post_to_edit( $post_type, true );
where the second argument stands for $create_in_db
. If true then this part is executed:
if ( $create_in_db ) {
$post_id = wp_insert_post(...);
}
inside get_default_post_to_edit()
.