Eventos de um userControl customizado executados ainda no código no visual studio, é um bug?

Estou desenvolvendo em WPF, e enquanto fazia um userControl customizado, tive uma surpresa, quando fui utilizar os Eventos “RoutedEventHandler Loaded” e “RoutedEventHandler Unloaded” do “System.Windows.FrameworkElement”, notei que eles disparavam quando eu escrevia no código.. Não sei se isso é normal, mas eu acho que se trata de um bug, pois teoricamente não era para disparar o evento sem a aplicação estar em execução. Isso é mesmo um bug, ou tem uma explicação?

Se alguém quiser testar o vou colocar o código.. (Estou usando o vs2017 Enterprise, framework 4.7.2)

userControl.cs: (userControl Customizado)

using System.Windows; using System.Windows.Controls;  namespace wpf.componentes {     public class userControl : UserControl     {         private Window janelaAtual = new Window();         private int i = 1;          public userControl()         {             Loaded += userControl_Loaded;             Unloaded += userControl_Unloaded;             janelaAtual.Content = Window.GetWindow(this);         }          private void userControl_Loaded(object sender, RoutedEventArgs e)         {             InicializarConteudo();         }          private void userControl_Unloaded(object sender, RoutedEventArgs e)         {             FinalizarConteudo();         }          public virtual void InicializarConteudo()         {             MessageBox.Show("Carregar conteúdo nº: " + i);             i++;         }          public virtual void FinalizarConteudo()         {             MessageBox.Show("Finalizar conteúdo nº: " + i);             i++;             janelaAtual.Close();         }     } } 

MainWindow.xaml:

<Window x:Class="wpf.MainWindow"         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"         xmlns:wpf="clr-namespace:wpf.componentes"         mc:Ignorable="d"         Title="MainWindow" Height="450" Width="800">     <Grid>         <wpf:userControl />     </Grid> </Window> 

MainWindow.xaml.cs:

using System.Windows;  namespace wpf {     public partial class MainWindow : Window     {         public MainWindow()         {             InitializeComponent();         }     } } 

Após ter esse código escrito, só de compilar sem executar a aplicação, e visualizar o MainWindow.xaml.. vai aparecer a mensagem, filha da instância do Visual Studio, pois não consigo fazer nada no VS até dar OK na mensagem, depois tentem comentar o trecho onde eu incluo o userControl no MainWindow.xaml, a mensagem vai aparecer de novo..