When you do this:
closeButton.Bind(wx.EVT_BUTTON, self.OnClose)
you are creating a link, where if the user clicks a button, the window will receive an EVT_BUTTON event, and your function OnClose will be called. It will call it with two arguments - self (which is true for any class function) and the event itself. You just need to change your function header to look like this:
def OnClose(self, event):
self.Destroy()
and then it should work.