WP_Query posts_per_page strange caching

Ok, finally I’ve found the reason.

We must ignore sticky posts in WP_Query this way:

 $sidebar_related = new WP_Query([
            'category__not_in' => [$news->term_id],
            'post__not_in' => [$post->ID],
            'posts_per_page' => 4,
            'post_status' => 'publish',
            'ignore_sticky_posts' => '1'
    ]);

I hope it will help somebody.