De-registering a CSS file leaves it in the queue

To properly and completely remove a style, you need to deregister(wp_deregister_style()) and dequeue(wp_dequeue_style()) it. Dequeueing will remove the style from the array in the $wp_styles variable, deregistering the style will remove the stylesheet from being printed

add_action( 'wp_enqueue_scripts', 'my_deregister_styles', 100 );

function my_deregister_styles() {
    wp_dequeue_style( 'genericons' );
    wp_deregister_style( 'genericons' );
}