I would say creating a block instance inside a model in this manner would be considered fairly non-standard. Conventionally the block layer would use the model layer (either by instantiating directly, or by retrieving models from global state such as the registry), rather than the other way around.
It's a little difficult to advise without knowing exactly what the block
custom/custom actually does. If it's a matter of sharing a piece of logic between a block and a model I would recommend moving the logic to a helper (or even another model), then calling the helper functions from both the block and the model.
If the objective is to simply be able to access some kind of calculated value, then you would be better off storing this somewhere global like the registry or a session.