Chances are, your idle inactivity timer is never expiring
The PPTP keepalive should be increased so that it is greater than the IdleHangUpSeconds, on both the client and server. Navigate to:
Add Value name InactivityIdleSeconds as a type REG_DWORD. The default is 60 seconds. The timer counts down (if no traffic) and when it reaches zero, it sends a control to the server.
Add Value name EchoReplyTimeoutSeconds as a type REG_DWORD. The default is 60 seconds. If a reply is not received within this number of seconds, the PPTP connection is dropped.