This is by design. The ConnectionManager class is a wrapper around the native Connection Manager API (ConnMgr) and as such behaves exactly as expected. ConnMgr treats GPRS connections as a special case and overrides any requests to release a GPRS connection. This is because it does not cost any extra, both economically and in terms of resource consumption (CPU, power, or bandwidth), to cache a GPRS connection and let it idle. The flipside of this (frequently establishing and release a connection) introduces significant impedance into an application's workflow due to the length of time it takes to establish a connection. Even if you establish the connection asynchronously, there's a significant delay between needing a connection (the reason to start the connection procedure) and actually being able to use the connection.
Unqualified statements like "the example in the library doesn't work" do nothing to help us identify the issue with the RAS library. I'm going to assume (based upon your email) you are referring to the fact that the sample application shipped with the RAS SDK does not update the Comm Manager UI when you dial a connection. If that is the case, then this is another example where the observed behavior is completely intentional. The Windows Mobile RAS API does not update the UI (specifically, the signal strength task bar icon) by design.