Dan,
>Anyway, if any of the custom object's methods get called, the form lodges in memory and won't destroy.
General troubleshooting questions:
1)From where are you calling the object's methods?
2)If you just instantiate the object and don't call its methods does the form release OK?
3)Where do you store a reference to the object?
4)Where do you release the object reference?