Мерцает ListView с двойной буфферизацией

OwnerDraw включен

        private void listView1_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
        {
            try
            {
                using (Bitmap bitmap = new Bitmap(e.Bounds.Width, e.Bounds.Height))
                {
                    using (Graphics buffer = Graphics.FromImage(bitmap))
                    {
                        using (StringFormat sf = new StringFormat())
                        {
                            sf.FormatFlags = StringFormatFlags.NoWrap;
                            sf.LineAlignment = StringAlignment.Center;
                            switch (e.Header.TextAlign)
                            {
                                case HorizontalAlignment.Center:
                                    sf.Alignment = StringAlignment.Center;
                                    break;
                                case HorizontalAlignment.Right:
                                    sf.Alignment = StringAlignment.Far;
                                    break;
                            }

                            bool selected = listView1.SelectedIndices.Count > 0 && listView1.SelectedIndices[0] == e.ItemIndex;
                            Brush brushBkg = selected ? SystemBrushes.Highlight : SystemBrushes.Control;
                            Rectangle r = new Rectangle(0, 0, e.Bounds.Width, e.Bounds.Height);
                            buffer.FillRectangle(brushBkg, r);
                            buffer.DrawString(e.SubItem.Text, listView1.Font, Brushes.Black, r, sf);
                            e.Graphics.DrawImage(bitmap, e.Bounds.X, e.Bounds.Y);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.StackTrace);
            }
        }

Почему мерцает?
В другом проекте этот код работает. А в этом у меня элементы добавляются очень часто. Но оно же при двойной буферизации в любом случае мерцать не должно :thinking:
Без OwnerDraw оно даже меньше мерцает :grin: Но почему?