Я видел нечто подобное (это может не решить вашу конкретную проблему) и нашел некоторое обсуждение о ChildWindow здесь
они предложили этот метод в закрытом событии ChildWindow, и он работал для меня.
Application.Current.RootVisual.SetValue(Control.IsEnabledProperty, true);
Также попробуйте вызвать this.DialogResult = true вместо метода Close.