If I have an `NSMutableString` such as

```
NSMutableString *foo = [[NSMutableString alloc] init];

```

if I nil out the object, `foo = nil`, does that lower the retain count by 1, thus effectively releasing the memory? Would I need to reallocate foo from the heap at this point to be able to use it?